Запрос Q034. В этом примере два ранее приведенных
запроса (q031 и q032) использованы как подзапросы. Результаты этих
запросов методом RIGTH JOIN объединены в один отчет. Следующий запрос
выводит отчет о сумме платежей каждого клиента по использованным им
платежным системам и сумме сделанных им инвестиций. Следующий запрос
выводит отчет о количестве и сумме поступивших и реализованных продуктов
по каждому поставщику. Следует обратить внимание на то, что если
какой-то товар уже реализован, но еще не поступил, то клетка income_sum
для этой записи будет пустой. Наличие таких пустых клеток является
показателем ошибки в учете продаж, так как до продажи сначала
необходимо, чтобы соответствующий товар поступил:
SELECT * FROM (SELECT supplier_id, product_id, SUM(amount) AS amount_sum, SUM(amount*price) AS income_sum FROM m_income AS a INNER JOIN m_product AS b ON a.product_id=b.id GROUP BY supplier_id, product_id) AS a RIGHT JOIN (SELECT supplier_id, product_id, SUM(amount) AS amount_sum, SUM(amount*price) AS outcome_sum FROM m_outcome AS a INNER JOIN m_product AS b ON a.product_id=b.id GROUP BY supplier_id,
product_id) AS b ON (a.supplier_id=b.supplier_id) AND (a.product_id=b.product_id);