问题描述
我需要一个SQL查询,该查询的WHERE CASE WHEN语句带有in列表。我不确定查询的哪一部分错了,
首先,我需要从Coldelist和IDD,IDP中创建一个KEY,然后由于我的代码列表的长度是5或6,因此需要使用CASE WHEN检查它们的长度是5还是6,然后在单独的列表中进行搜索(每个列表几乎200或更多),因为我的目的是使用EXCEPT比较某些表的数据
我的sql语句如下:
SELECT
codelist = CASE
WHEN LEN(codelist) = 5
THEN CONCAT(CONCAT(SUBSTRING(codelist,1,5),IDD),IDP)
WHEN LEN(codelist) = 6
THEN CONCAT(CONCAT(SUBSTRING(codelist,6),IDP)
ELSE codelist
END,codelist
FROM
[table1]
WHERE
(codelist = CASE
WHEN LEN(codelist) = 5
THEN (SELECT 'FEV00','FEV64','FEV97','FEV90')
WHEN LEN(codelist) = 6
THEN (SELECT 'FEV208','FEV227','FEV308','FEV326')
END)
EXCEPT
SELECT
....
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)