是否有可能在when语句的case子句中写入子查询在case子句中的SQL相关子查询
ie。
SELECT colA, colB,
CASE WHEN (SELECT colA FROM tab2 WHERE tab2.colA = tab1.colA) THEN '1'
CASE WHEN (SELECT colA FROM tab3 WHERE tab3.colA = tab3.colA) THEN '2'
ELSE '0'
END AS colC,
...
FROM tab1
扩展问题:
是否有可能基于该值列做些什么? (很确定是的,但想要确认)
即。
CASE
WHEN colC = '1' THEN (select colR FROM...),
WHEN colC = '2' THEN (SELECT ColS FROM...),
ELSE 'doesn't work'
END AS colD
此外,上述情况允许返回多个不同的列,这取决于colC是哪个值?
即。
CASE
WHEN colC = '1' THEN (select colR, colV, colX FROM...),
WHEN colC = '2' THEN (SELECT ColS, ColD FROM...),
ELSE 'doesn't work'
END AS colD
谢谢!
感谢您的建议和解释。 – Tyug 2010-07-04 18:05:35