Задавайте вопросы, мы ответим
Вы не зашли.
Всем добрый день!
Такой вопрос - ещё только начинаю и столкнулся с проблемой - в БД есть две таблицы, условно offline_orders и online_orders.
Запрос сейчас построен примерно так:
Select
id,
order_id,
order_date,
fio_client,
status_order
FROM offline_orders
Необходимо приджойнить данные по order_id из online_orders. Но при этом, если order_id присутствует в обеих таблицах, то должен выводиться order_id из offline_orders.
Уже думал про DISTINCT order_id, но проблема в том, что в offline_orders запись по одному заказу может повторяться несколько раз, необходимо выводить все записи оттуда.
Надеюсь не слишком всрато объяснил
Неактивен
Приведите пожалуйста тестовый пример данных (буквально несколько строк) в каждой таблицы и покажите тот результат, который хотите получить.
Неактивен
Таблица offline_orders:
id order_id order_date fio_client status_order phone
23 230420 2020-04-03 Петров П.П. open 88005553535
23 230420 2020-04-03 Петров П.П. cancel 88005553535
24 240420 2020-04-04 Данилов А.С. open 89005553535
Таблица online_orders:
order_id order_date fio_client status_order
230420 2020-04-03 Петров П.П. cancel
0052120 2020-04-03 Михалок Т.С. cancel
Выглядит примерно так. Т.е. в таблице offline_orders нет части записей из online_orders. Из online_orders мне нужно подтягивать всё, что есть, но, если такая же запись уже есть в offline orders, то нужно, чтобы она не дублировалась из двух таблиц, а шла только из одной.
Неактивен
Все же приведите результат, который Вы хотите получить?
>то нужно, чтобы она не дублировалась из двух таблиц, а шла только из одной.
А из которой именно?
Неактивен
Результат нужен такой - данные из обеих таблиц, в случае, если идут данные из таблицы online_orders, то там, где данных нет, просто идёт null.
Если по аналогии с примером из моего предыдущего сообщения, то итоговый результат должен быть таким:
id order_id order_date fio_client status_order phone
23 230420 2020-04-03 Петров П.П. open 88005553535
23 230420 2020-04-03 Петров П.П. cancel 88005553535
24 240420 2020-04-04 Данилов А.С. open 89005553535
Null 0052120 2020-04-03 Михалок Т.С. cancel Null
Т.е. запись по заказу 230420 клиента Петров П.П. в таблице offline_orders повторяется дважды и попадает в выгрузку. Но запись из таблицы online_orders не попадает в общую выгрузку, т.к. order_id уже есть в таблице offline_orders.
В общем, если подытожить единственное, чем я могу связать друг с другом таблицы это order_id, но в итоге если online_orders.order_id = offline_orders.order_id то в выгрузку он попадать не должен
Неактивен
Попробуйте так?
Неактивен