如何合并具有不同条件的相同 table

How to merge same table with different conditions

我需要编写一个查询来生成一个结果,以在可用时显示 OLD_ACCOUNT_ID else NULL 和在可用时显示 NEW_ACCOUNT_ID else NULL 来自同一个 table 根据条件。我尝试了如下查询,但这不会在单独的列中生成数据,如 OLDNEW。有人可以帮忙吗

SELECT DISTINCT     
A.ACCOUNT_ID as NEW_ACCOUNT_ID, 
A.ACTIVE_FLAG,A.DATA_ID 
FROM Table  A
WHERE DATA_SOURCE_PROVIDER_ID='X' 
AND ACTIVE_FLAG='Y' 
and DATA_ID= '12345678'
union 
SELECT DISTINCT B.ACCOUNT_ID AS OLD_ACCOUNT_ID,
B.ACTIVE_FLAG,B.DATA_ID
FROM Table  B
WHERE DATA_SOURCE_PROVIDER_ID='X' 
AND  ACTIVE_FLAG='N' 
and DATA_ID= '12345678'

用例

select DISTINCT  
  case ACTIVE_FLAG when 'Y'  then ACCOUNT_ID end as NEW_ACCOUNT_ID, 
  case ACTIVE_FLAG when 'N'  then ACCOUNT_ID end as OLD_ACCOUNT_ID, 
  ACTIVE_FLAG,D
  DATA_ID 
from Table
whene DATA_ID= '12345678';