我想獲取所有的不存在於STAGING_CUST_ACCT表的acct_key列中的hrc_acct_num。最後一個外部選擇列出現錯誤。我怎樣才能得到使用子查詢返回的列數?如何獲得使用子查詢返回的列值的計數?
SELECT source_sys_cd,
Count(CASE
WHEN is_delete = 0 THEN 1
END) [DEL IS 0],
Sum(CASE
WHEN trans_amt = 0 THEN 1
ELSE 0
END) [STG $0 TXN CNT],
Count(CASE
WHEN hrc_acct_num NOT IN(SELECT DISTINCT acct_key
FROM staging_cust_acct) THEN
hrc_acct_num
END)
FROM staging_transactions (nolock)
GROUP BY source_sys_cd
ORDER BY source_sys_cd
總結也會在這種情況下工作,但是,count()不會在空值上遞增,如果條件不正確,將從case語句返回,在這種情況下。 –
哇,非常感謝! –
@JaazCole你是對的。出於某種原因,我在那裏讀了一個「else 0」。個人[我仍然喜歡SUM(CASE超過COUNT(CASE)(http://stackoverflow.com/questions/6350154/selecting-count-from-different-criteria-on-a-table/6350268#comment7431588_6350268) –