[英]mysql query from three tables
I'm using this query 我正在使用此查询
SELECT
orders_list.nr_comanda_orders AS Comanda,
SUM(orders_list.cantitate) AS Total,
SUM(orders_list.qty_to_add) AS InStoc,
COUNT(entries_list.id) AS Picked
FROM orders_list
LEFT JOIN entries_list ON (entries_list.file_id = orders_list.id AND entries_list.orders_list_id = orders_list.nr_comanda_orders)
GROUP BY orders_list.nr_comanda_orders
ORDER BY orders_list.nr_comanda_orders DESC
which has this result 有这个结果
Comanda | Total | InStoc | Picked
-----------|----------------|--------
AAY280838 | 64 | 6 | 0
AAY280837 | 50 | 8 | 0
AAY280836 | 89 | 8 | 0
and a second query 和第二个查询
SELECT
entries_list.orders_list_id AS Comanda,
SUM(orders_list.cantitate) AS Total,
SUM(orders_list.qty_to_add) AS InStoc,
COUNT(entries_list.id) AS Picked
FROM entries_list
LEFT JOIN orders_list ON (entries_list.file_id = orders_list.id AND entries_list.orders_list_id = orders_list.nr_comanda_orders)
LEFT JOIN orders_uploaded ON orders_list.file_id = orders_uploaded.id
GROUP BY
entries_list.orders_list_id
ORDER BY
entries_list.orders_list_id DESC,
orders_uploaded.id_routing DESC,
orders_uploaded.upload_date DESC,
orders_uploaded.progress ASC
which has this result: 结果如下:
Comanda | Total | InStoc | Picked
-----------|------------------|--------
AAY280838 | NULL | NULL | 55
AAY280837 | NULL | NULL | 39
AAY280836 | NULL | NULL | 76
Could you please help me with the query so I can get this result? 您能帮我查询一下,以便我得到这个结果吗?
Comanda | Total | InStoc | Picked
-----------|----------------|--------
AAY280838 | 64 | 6 | 55
AAY280837 | 50 | 8 | 39
AAY280836 | 89 | 8 | 76
Thanks in advance. 提前致谢。
SELECT t1.Comanda,t1.Total,t1.InStoc,t2.Picked
(
SELECT
orders_list.nr_comanda_orders AS Comanda,
SUM(orders_list.cantitate) AS Total,
SUM(orders_list.qty_to_add) AS InStoc,
FROM orders_list
LEFT JOIN entries_list ON (entries_list.file_id = orders_list.id AND entries_list.orders_list_id = orders_list.nr_comanda_orders)
GROUP BY orders_list.nr_comanda_orders
) t1
LEFT JOIN
(
SELECT
entries_list.orders_list_id AS Comanda,
COUNT(entries_list.id) AS Picked
FROM entries_list
LEFT JOIN orders_list ON (entries_list.file_id = orders_list.id AND entries_list.orders_list_id = orders_list.nr_comanda_orders)
LEFT JOIN orders_uploaded ON orders_list.file_id = orders_uploaded.id
GROUP BY
entries_list.orders_list_id
) t2
ON t1.Comanda = t2.Comanda
Lazy, slow performing solution: 延迟执行缓慢的解决方案:
SELECT
first.Comanda AS Comanda,
first.Total AS Total,
first.InStoc AS InStoc
second.Picked AS Picked
FROM (
-- your first query here
) AS first
LEFT JOIN (
-- your second query here
) AS second
ON first.Comanda=second.Comanda
ORDER BY
-- whatever
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.