Мне нужно присоединиться к следующим таблицам
- table_quotation
- table_customer
- table_project
- table_quoted_products
- table_estimate
здесь table_quoted_products имеет отношение один ко многим с table_quotation, аналогично, каждый продукт в table_quoted_products имеет несколько элементов в table_estimate.Таким образом, в 1 предложении может быть несколько продуктов в table_quoted_products, и у каждого продукта может быть несколько элементов в table_estimate для построения оценочной стоимости каждого элемента.
Теперь мне нужен запрос для построения таблицы, которая может дать мне название цитаты изtable_project, имя клиента из table_customer, общая сумма котировочной стоимости продажи из table_quotation и общая стоимость для того же предложения из table_estimate.Я пробовал следующий запрос, но функция суммы умножается на количество продуктов.
SELECT a.quote_id
, a.check_status
, a.approve_status
, b.title as project
, c.customer
, SUM(d.quantity*d.quoted_rate) as sale
, SUM(e.qty*e.rate) as cost from table_quotation a
JOIN table_project b on a.project_id = b.project_id
JOIN table_customer c on a.customer_id = c.id
JOIN table_quoted_product d on a.quote_id = d.quote_id
JOIN table_estimate e on a.quote_id = e.ref_id
WHERE e.ref_type = 2 and a.approve_status = 0
GROUP
BY a.quote_id
Таблица сметы имеет 2 вида оценки, 1 для шаблонного продукта для одной единицы и 2 для указанных продуктов, поэтому мне нужна стоимость только для указанных продуктов.Где мне нужно поменять, чтобы получить точную продажу и ориентировочную стоимость?