我有一个表包含多个日期的多个记录.
我试图看到"日期1"和"日期2"之间的区别,我的完整外部联接不会返回我期望的数据.
我知道在日期1有13278行,在日期2有13282 - 因此我希望看到至少13282行,但我回到13195 ...这是一个INNER JOIN(我测试了这个).
我希望得到如下结果:
001 000123 009 NULL 1000
001 000124 009 1000 1000
001 000125 009 1000 1000
001 000126 009 1000 NULL
Run Code Online (Sandbox Code Playgroud)
但这不会从任何一方获得任何空行?
SELECT
COALESCE(c.AccountBranch, p.AccountBranch)
, COALESCE(c.AccountNumber, p.AccountNumber)
, COALESCE(c.AccountSuffix, p.AccountSuffix)
, c.PrincipleAmount
, p.PrincipleAmount
FROM ADStaging..cb_account_extension_principle_dpd c
FULL OUTER JOIN ADStaging..cb_account_extension_principle_dpd p
ON p.AccountBranch = c.AccountBranch
AND p.AccountNumber = c.AccountNumber
AND p.AccountSuffix = c.AccountSuffix
WHERE
(c.BusinessDataDate IS NULL OR c.BusinessDataDate = @CurrentBusinessDataDate)
AND
(p.BusinessDataDate IS NULL OR p.BusinessDataDate = @PreviousBusinessDataDate) …Run Code Online (Sandbox Code Playgroud)