Присоединяйтесь к таблице, но сохраняйте каждую строку в одном столбце SQL( Из таблицы пользователей ДОБАВЬТЕ каждый ресторан, который они посетили, ИЗ списка заказов ) последняя дата

#mysql #sql

Вопрос:

Я создаю динамический конструктор запросов с помощью react-awesome-query-builder для базы данных phpMyAdmin, которую я не контролирую.

Это довольно быстро усложняется, потому что данные разбросаны, поэтому я объединяю 7 таблиц, чтобы делать запросы целевым пользователям.

пример таргетинга:

Целевые неактивные пользователи ( я буду использовать most_recent_order)

Целевые пользователи, которые сделали заказ в ресторане x

Структура базы данных:

 phpMyAdmin | |-oath | -users | -users_meta | -users_jobs | |-order | -orders | -carts | -driver_status  

oauth.пользователи

 id | foo | baa -------------- 1 | x | x  2 | x | x  3 | x | x  4 | x | x  5 | x | x   

заказ.заказы ( я знаю плохое название, я не создавал базу данных)

(идентификатор пользователя = user.id)

(названия ресторанов на самом деле хранятся в другой таблице ради этого примера restaurant_id = resturant_names)

 id| restaurant_id| customer_id| order_date ---------------------------------------- 1 | Subway | 1 | 11/11/21 2 | Ashas | 1 | 10/11/21 3 | McDonalds | 1 | 12/11/21 4 | Subway | 1 | 12/11/21 5 | Subway | 2 | 10/11/21 6 | Dannys | 2 | 11/11/21 7 | Dannys | 2 | 09/11/21  

Я хочу присоединиться к данным и увидеть каждого пользователя и каждый ресторан, в котором они заказали

 id| restaurant_id| order_date| foo | ray ---------------------------------------- 1 | Subway | 11/11/21 | x | x  1 | Ashas | 10/11/21 | x | x  1 | McDonalds | 12/11/21 | x | x  1 | Subway | 12/11/21 | x | x  2 | Subway | 10/11/21 | x | x  2 | Dannys | 11/11/21 | x | x  2 | Dannys | 09/11/21 | x | x   

So this would just be left-join?

Now if I wanted to add a new column to users after doing the above. How would I add a new column labeled latest_order_date with the most recent order_date?

Either like below

 id| restaurant_id| order_date| latest_order_date |foo | ray ---------------------------------------- 1 | Subway | 11/11/21 | null | x | x  1 | Ashas | 10/11/21 | null | x | x  1 | McDonalds | 12/11/21 | 12/11/21 | x | x  1 | Subway | 12/11/21 | null | x | x  2 | Subway | 10/11/21 | null | x | x  2 | Dannys | 11/11/21 | 11/11/21 | x | x  2 | Dannys | 09/11/21 | null | x | x   

или

 id| restaurant_id| order_date| latest_order_date |foo | ray ---------------------------------------- 1 | Subway | 11/11/21 | 12/11/21 | x | x  1 | Ashas | 10/11/21 | 12/11/21 | x | x  1 | McDonalds | 12/11/21 | 12/11/21 | x | x  1 | Subway | 12/11/21 | 12/11/21 | x | x  2 | Subway | 10/11/21 | 11/11/21 | x | x  2 | Dannys | 11/11/21 | 11/11/21 | x | x  2 | Dannys | 09/11/21 | 11/11/21 | x | x