-2
的MS Access这个LEFT JOIN/SELECT有什么问题? (在SELECT单独的作品,和LEFT JOIN wthout SELECT也可以)
表:
prodcuts:
+----+---------+
| id | p_name |
+----+---------+
warehouses:
+----+--------+
| id | w_name |
+----+--------+
how_many_should_be:
+--------------+------------+----------+
| warehouse_id | product_id | how_many |
+--------------+------------+----------+
intake
+--------------+------------+---------------+
| warehouse_id | product_id | intake_amount |
+--------------+------------+---------------+
想要的查询结果:
+--------+--------+--------------------+------------+
| w_name | p_name | how_many_should_be | intake_sum |
+--------+--------+--------------------+------------+
这是查询: 它工作正常,如果我忽略了“LEFT JOIN”,并且LEFT JOIN中的SLELET工作正常,如果放入查询本身。我知道什么是错的。
SELECT
warehouses.w_name AS [w_name],
products.p_name AS [p_name],
how_many_should_be.how_many AS [how_many_should_be]
FROM (((how_many_should_be INNER JOIN warehouses ON how_many_should_be.warehouse_id = warehouses.id)
INNER JOIN products ON how_many_should_be.product_id = products.id)
LEFT JOIN
(SELECT intake.warehouse_id, intake.product_id, Sum(intake.units_amout) AS [intake_sum]
FROM intake
GROUP BY intake.warehouse_id, intake.product_id)
ON how_many_should_be.warehouse_id = intake.warehouse_id)
ORDER BY warehouses.w_name, products.p_name
错误:“语法错误的JOIN操作”
我认为你需要在subqueris别名。 –
@Gordon Linoff OK。现在与别名它显示所有记录上的所有INTAKE_SUM –
更新:我添加了“how_many_should_be.product_id = intake.product_id”,它确实工作!谢谢! –