我有这个问题:
SELECT ea.Data_Source_ID
FROM eloquaActual as ea
WHERE ea.Data_Source_ID =(select eff.Data_Source_ID
FROM eloquaFromFile eff
WHERE eff.Permission_Bingo = ea.Permission_Bingo)
这应该会返回Data_Source_ID
匹配但Permission_Bingo
不匹配的所有值。不幸的是,它只返回2条记录。什么是不对的。这意味着我的查询写错了,但有什么问题?
注意:一切都被视为VARCHAR
我猜,不是100%肯定。
另请注意,当我使用WHERE Permission_Bingo=0
时,它没有返回任何我必须将零写入引号:WHERE Permission_Bingo='0'
,但对于相同类型的变量,它应该可以正常工作。
答案 0 :(得分:2)
更改
WHERE_Data_Source_ID =
到
WHERE_Data_Source_ID IN
答案 1 :(得分:2)
你应该使用
SELECT ea.Data_Source_ID
FROM eloquaActual as ea
WHERE exists (SELECT *
FROM eloquaFromFile eff
WHERE eff.Permission_Bingo = ea.Permission_Bingo and
ea.Data_Source_ID = eff.Data_Source_ID)