SQL查询返回的记录少于应有的记录

时间:2014-07-28 14:07:32

标签: sql sqlite

我有这个问题:

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',但对于相同类型的变量,它应该可以正常工作。

2 个答案:

答案 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)