我在sql中有一个表,其中,我想通过 传递两个值列表来检索基于两列的数据。 例如: - 让我们考虑一个表,表名“员工”Sql通过将两个列表传递给两列来检索数据
-----------------------------
| project_id | resource_id |
-----------------------------
| 7 | 46 |
-----------------------------
| 7 | 87 |
-----------------------------
| 5 | 87 |
------------------------------
我想找回基于在两个 列值的精确匹配的数据就像
"select * from employee where project_id = 7 and resource_id = 46;"
则返回第一行。如果查询会是这样的
"select * from employee where project_id in (7,5) and resource_id in
(46,87);"
它将返回所有三行而不是第一和第三行。 我可以理解,'sql'引擎通过给出的值的所有 组合执行查询。但是,我需要查询来处理上述值的数据 ,以返回第一行和第三行。有没有 解决方案? 在此先感谢。
标记您正在使用的dbms。 (您有一个ANSI SQL兼容的答案,可能不被所有dbms产品支持。) – jarlh