[英]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.