我试图在我的where子句中写一个简单的语句,但我不相信我的语法正确。查询查找是否搜索这些ID是否在此列中,但我不确定是否可以在同一行中使用IN
两次?任何人都可以提供一些反馈。谢谢!
WHERE... AND (tableA.ColumnA in LEN(LTRIM(RTRIM(TableB.ColumnB))) in (5,7) )
我在第二个IN
附近遇到一些语法错误,无法弄清楚这是否是正确的方法来解决这个问题?
答案 0 :(得分:2)
当你对一个列使用IN时,它需要是一个子选择,但这是一个正确的方法你可以这样做(Wes的子选择仍然有相同的语法错误):
WHERE... AND (tableA.ColumnA in (
SELECT ColumnB FROM TableB WHERE LEN(LTRIM(RTRIM(TableB.ColumnB))) in (5,7)
))
答案 1 :(得分:1)
尝试使用子查询。
WHERE... AND (SELECT TA.ColumnA
FROM TableA TA
WHERE TA.ColumnA IN LEN(LTRIM(RTRIM(TABLEB.ColumnB))) IN (5,7)
答案 2 :(得分:0)
使用join
join TableB
on TableB.ColumnB = tableA.ColumnA
and LEN(LTRIM(RTRIM(TableB.ColumnB))) in (5,7)