提前道歉,因为我在措辞上遇到了我正在处理的问题,但是......
我正在尝试构建一份报告,该报告提供了交易后帐户的快照。 每个账户中可能有多个项目,每个交易可能只影响主账户上有限数量的项目。
*ITEM* *Total Quantity* *Quantity Sold*
apples 100,000 5,000
oranges 250,000
cherries 175,000 25,000
我希望我的表返回 A 列中的所有项目,即使 C 列中的顺序中没有事务。 到目前为止,我所拥有的看起来像:
SELECT act.ITEM, act.TotalQuantity, ord.QuantitySold
FROM Accounts AS act
JOIN Orders AS ord ON ord.ITEM = act.ITEM
在上面的查询中,第二行结果被删除,因为没有影响该项目的订单部分。 如何确保整个 A 列保持完整?
使用左联接
SELECT act.ITEM, act.TotalQuantity,
IsNull(ord.QuantitySold,0) as QuantitySold
FROM Accounts AS act
JOIN Orders AS ord ON ord.ITEM = act.ITEM