我有4个完全相同的CASE
条件的case语句,但是它们都有不同的THEN/ELSE
语句。
是否可以将所有内容合而为一,还是我需要将这些全部分离出来并多次复制和粘贴代码?
,CASE WHEN lm.Id IN ('1','2','3') THEN lm.name ELSE lm.Desc END AS [Column1]
,CASE WHEN lm.Id IN ('1','2','3') THEN '3' ELSE '1' END AS [Column2]
,CASE WHEN lm.Id IN ('1','2','3') THEN 'True' ELSE 'False' END AS [Column3]
可以用更少的代码来做到这一点吗?
最佳答案
我认为在严格的SQL中这是不可能的。一些数据库引擎可能支持它作为扩展。您可能可以通过其他某种机制在功能上完成相同的事情,尽管...可能使用JOIN或UNION。
关于sql - 是否可以使用1个case语句返回多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6498806/