我有3列的excel。 column1 lastname,column2 firstname,column3 fathername。 我从excel导出这些数据并制作一个这样的数据列表...... (马利,鲍勃,乔治); (杰克逊,迈克尔,保罗); (Connor,Sarah,Cathrine)等。
在SQL(2008 r2)中,我有一个包含这3列(以及更多......)的表。 我想搜索我的表是否有从excel导出的人 我找到了一个解决方案,最后重复选择和联合所有,但我有的行是在sql表中导出500 excel对70000所以我认为这不是重复联合的最佳方式。 所以我的问题是,如果有一种语法不需要一次又一次地重复 选择,而不是使用像
这样的东西select lastname,firstname,fathername from table where ....
(马利,鲍勃,乔治); (杰克逊,迈克尔,保罗); (Connor,Sarah,Cathrine)
非常感谢你的时间, 大力神
答案 0 :(得分:0)
使用IN ...
....
WHERE
lastname IN ('Marley','Jackson','Connor')
AND firstname ('Bob','Michael','Sarah')
....
然而,这可能会返回意外结果...因为它不会关联配对。 I.E.如果有人被命名为“Sarah Marley”,他们将被退回。您可能希望将名称连接成“全名”或使用其他键字段。最后,更好的方法是将您的FirstName,MiddleName和LastName加载到#TempTable或@TableVariable,并将INNER JOIN
加载到您的查询中,或使用WHERE EXISTS