我正在尝试使用复合键过滤查询,但是,我不确定如何在where子句中使用复合键过滤查询。XSiteProductItemId
并MercuryProductItemId
组成一个标识唯一行的复合键。
这是我的查询:
SELECT VMPOrdersExtract.XSiteProductItemId
, VMPOrdersExtract.MercuryProductItemId
FROM Appraisal.ext.VMPOrders AS VMPOrdersExtract
LEFT JOIN dw.DimAppraisal DimApprasial ON DimApprasial.XsiteProductItemId = VMPOrdersExtract.XSiteProductItemId
AND DimApprasial.MercuryProductItemId = VMPOrdersExtract.MercuryProductItemId
WHERE VMPOrdersExtract.LastSyncDateTime > DimApprasial.LastSyncDateTime
OR (
VMPOrdersExtract.XSiteProductItemId
AND VMPOrdersExtract.MercuryProductItemId
) is null
显然,我OR
在WHERE
条款中的条件在语法上是错误的。如何仅过滤表中null
存在或不存在的组合键记录DimAppraisal
?
怎么样
WHERE VMPOrdersExtract.LastSyncDateTime > DimApprasial.LastSyncDateTime
OR (VMPOrdersExtract.XSiteProductItemId IS NULL AND
VMPOrdersExtract.MercuryProductItemId IS NULL);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句