-1

我有下面的查询。我正在尝试离开加入另一张桌子。我知道查询应该返回值但值返回为空的事实。有没有人看到我做错了什么?我的大脑在这一点上被炸了。

SELECT 
    ss.NDC,
    ss.ShipToAddressNo,
    ss.QuantityShipped,
    c.AccrualType,
    ss.ExtendedPrice ExtendedPrice,
    c.AccrualAmount CBAccrualAmount
FROM
    SalesSummary ss left join ChargebackAccruals c on
        ss.ClassOfTrade = c.TradeClass and
        c.AddressNo is null and
        c.ShipTo is null and
        c.ShortItemNo is null and
        c.LotNumber is null and
        ss.InvoiceDate = @RunDate and
        ss.InvoiceDate between AccrualBeginDate and AccrualEndDate
4

2 回答 2

0

左外连接从表 A 中生成一组完整的记录,匹配​​的记录(如果有)在表 B 中。如果没有匹配,右侧将包含 null。

于 2013-08-30T13:33:55.253 回答
0

ON 子句中的任何条件都是连接的一部分,因此任何在 AddressNo 或 ShipTp 或 ShortItemNo 或 LotNumber 中具有数据的行都将为 NULL。

您可能希望将它们移动到 WHERE。

你想要什么结果?

于 2013-08-30T13:41:46.453 回答