Как создать оптимизированный запрос, для выборки пользователей и заказов?

Подскажите, как создать один sql-запрос, чтобы через php в массив выбрать всех пользователей со всеми заказами пользователей?
т.е. чтобы в каждом ряду были все данные пользователей, такие как:
user_id, first_name, last_name, email, phone, order_ids, total, discount, product_ids

order_ids - order_id всех заказов у текущего пользователя, нужно перечислить через запятую,
total - общая сумма, которую пользователь заплатил за товары,
discount - общая сумма скидок, к примеру по купонам,
product_ids - product_id всех товаров, которые пользователь купил, через запятую
т.е. в каждом ряду должна быть информация по отдельному пользователю.
Это woocommerce.
таблицы, отвечающие за пользователей:
users: user_id,user_email,user_pass,user_login
usermeta: в этой таблице дополнительные поля пользователей(не обязательна) таблицы, связанные с заказоми:
posts: ID,post_title,post_status
postmeta: дополнительные поля заказов (второстепенная таблица с дополнительными. данными)
woocommerce_order_items: тут номер заказа и ссылка на таблицу с купленными товарами
woocommerce_order_itemmeta: тут список купленных товаров, данные товары привязаны к таблице woocommerce_order_items

Таблицы можно объединить так:

SELECT pm.meta_value, im.meta_value FROM posts AS p
INNER JOIN postmeta AS pm ON p.ID = pm.post_id
INNER JOIN woocommerce_order_items AS i ON p.ID = i.order_id
INNER JOIN woocommerce_order_itemmeta AS im ON i.order_item_id = im.order_item_id
WHERE p.post_status IN ( 'wc-completed' )

Ответы (0 шт):