0
我有两个表,一个是所有产品,另一个是用于新购买的产品。MYSQL梳理两个表从多个行
产品表
Item Qty
301 2
302 5
303 3
304 4
305 6
采购表
Item Qty Status Date
302 5 used 09-15-2015
303 5 reserve 09-20-2015
301 5 used 09-20-2015
302 5 reserve 09-20-2015
304 5 used 10-15-2015
303 5 reserve 10-15-2015
我想在产品表中显示多少数量,并加入的purchases table
的数量Product Table
这是我最初的SQL查询y
SELECT product_name, product_quantity, quantity
FROM products
LEFT OUTER JOIN purchases ON products.ID = purchases.product_ID
WHERE product_status !='deleted' AND status != 'used'`.
但是,它只返回purchases table
的项目,即保留项。
我想要实现的是
Item Qty Reserved Qty Total
301 2 0 2
302 5 5 10
303 3 10 13
304 4 0 4
305 6 0 6
UPDATE 新的SQL查询
SELECT product_name, product_quantity, p.quantity
FROM products
LEFT OUTER JOIN (SELECT * FROM purchases
WHERE status = 'reserved'
GROUP BY product_ID) AS p ON p.product_ID = products.ID
WHERE products.product_status !='deleted'`
但它在保留数量返回0。
由于它的工作原理......虽然他们有一些列的查询方面这并不多,我明白了。非常感谢你... –
@NimitzE。我在你的问题中使用了与你自己提供的相同的列名,即使这样,只要你明白,它应该是一件小事。很高兴帮助 – mynawaz
哦,还有一件事,我删除了表1中的项目,我应该在哪里放置'where子句'?我的意思是,我有一个状态栏,它的值被删除,我不想显示这些删除的项目。 –