繁体   English   中英

Oracle Pivot查询比较列

[英]Oracle Pivot Query Compare Columns

我对我的Oracle技能很生疏,无论如何我有以下Oracle Query,它支持我,但是我需要比较最后两列。 这是查询:

SELECT * FROM (select * 
FROM (select TO_ENTITY_ID, END_DATE_DAY_ID, EASSIGNMENT_ID from ENTITY_eassignment WHERE TO_ENTITY_ID IN  (11466248, 993051,993037))
PIVOT (MAX(END_DATE_DAY_ID) AS t FOR (EASSIGNMENT_ID) in (1, 1002)));

这最终返回3行3列

TO_ENTITY_ID    1_T     1002_T     
993037          29220   29220      
11466248        29220   16126      
993051          15255   16004   

我需要做的是在这里添加第4列,如果它们是相同的值,则比较最后两列,然后第4列应该是true / false。

TO_ENTITY_ID    1_T     1002_T  SAME_VALUE     
993037          29220   29220   TRUE
11466248        29220   16126   FALSE   
993051          15255   16004   FALSE

任何帮助将不胜感激。

(CASE WHEN "1_T" = "1002_T"
      THEN 'TRUE'
      ELSE 'FALSE'
  END)

在外部查询应该工作。 那是

SELECT to_entity_id,
       "1_T",
       "1002_T",
       (CASE WHEN "1_T" = "1002_T"
             THEN 'TRUE'
             ELSE 'FALSE'
         END)
  FROM( <<your existing query>> )

如果你想过滤

SELECT to_entity_id,
       "1_T",
       "1002_T",
       (CASE WHEN "1_T" = "1002_T"
             THEN 'TRUE'
             ELSE 'FALSE'
         END)
  FROM( <<your existing query>> )
 WHERE "1_T" = "1002_T" -- (or !=)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM