如何在MS SQL中搜索两列中的多个值

时间:2017-01-12 20:57:17

标签: sql-server

我有一个看起来像

的查询
SELECT * FROM mytable mt
WHERE 1=1
AND mt.column_1 IN (SELECT id FROM employee WHERE salary >10000)
OR  mt.column_2 IN (SELECT id FROM employee WHERE salary >10000)

我知道上面的查询看起来并不好看,即使它完成了我的工作。我做谷歌但无法找到帮助。我问的原因是'员工的实际情况。 table是临时表,它在strored_procedure的上层填充数据,这个特定是我对该过程的最终select语句。

1 个答案:

答案 0 :(得分:2)

我认为一个简单的JOIN可以解决这个问题

SELECT mt.* 
 FROM mytable mt
 JOIN (SELECT id FROM employee WHERE salary >10000) B
   on mt.column_1=B.ID or mt.column_2=B.ID