Объедините два запроса SELECT с другой функцией - PullRequest
0 голосов
/ 12 января 2019

У меня есть одна таблица для отчетов. Мой первый запрос на выборку объединяет все таблицы продаж

SELECT *, ds_sales.id_sales
FROM ds_sales LEFT JOIN
     ds_payment 
     ON ds_sales.id_sales=ds_payment.id_sales LEFT JOIN 
     customer_info
     ON ds_payment.id_customer=customer_info.id_customer INNER JOIN
     ds_salesdetails
     ON ds_salesdetails.id_sales=ds_sales.id_sales
WHERE customer_info.id_customer = '".$_POST["id_customer"]."'

Это результат запроса

This is the result of the query

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

select ds_salesdetails.id_sales, count(*),
       group_concat(ds_salesdetails.id_product)
from ds_salesdetails
having count(*) >= 1

Мне нужно объединить их, чтобы создать отчет о продажах клиентов.

1 Ответ

0 голосов
/ 12 января 2019

Присоединиться к сгруппированному подзапросу вместо всей таблицы.

SELECT *, ds_sales.id_sales
FROM ds_sales LEFT JOIN
     ds_payment 
     ON ds_sales.id_sales=ds_payment.id_sales LEFT JOIN 
     customer_info
     ON ds_payment.id_customer=customer_info.id_customer LEFT JOIN
    (SELECT id_sales, count(*) as product_count,
           group_concat(ds_salesdetails.id_product) AS product_list
    from ds_salesdetails
    GROUP BY id_sales) AS grouped ON grouped.id_sales = ds_sales.id_sales
WHERE customer_info.id_customer = '".$_POST["id_customer"]."'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...