Case

從兩個表的公共列建構不同的列

  • July 31, 2019

下午好團隊,

希望一切順利

我希望你能幫助我。

我有以下兩個表“GODS.DQ_TOBE”和“GODS.DQ_CURRENT”。在每個表中都有一個名為“Account_code__C”的通用列。我想做的是建立一個名為 Account_code__C 的列,其中包含這兩個表中不同的帳戶程式碼。然後我想生成另外兩列來告訴我在哪個表中找到了 Account_code__C。

期望的結果看起來像這樣

結果

SELECT Account_code__C FROM GODS.DQ_TOBE
Select Account_code__C from GODS.DQ_CURRENT

以下程式碼應該為您提供MS SQLMySQL的結果:

select distinct f.Account_code__C,
case when a.Account_code__C<>'' then 'Y' else 'N' end AS DQ_TOBE, 
case when b.Account_code__C<>'' then 'Y' else 'N' end AS DQ_CURRENT
from (
   SELECT Account_code__C FROM GODS.DQ_TOBE
   union
   SELECT Account_code__C FROM GODS.DQ_CURRENT
) f
left join GODS.DQ_TOBE a on a.Account_code__C=f.Account_code__C
left join GODS.DQ_CURRENT b on b.Account_code__C=f.Account_code__C

引用自:https://dba.stackexchange.com/questions/244265