也就是说,假设我有一张人员表格和它们携带的项目 - 我们称之为id
,personid
和itemid
这两列。我只想找到携带所有特定项目的人;即,personid
小号那些与具有itemid
个给定的值的集合的行。只有存在一组特定的行时,才会查询字段的值
什么是我可以做到这一点的好办法?
也就是说,假设我有一张人员表格和它们携带的项目 - 我们称之为id
,personid
和itemid
这两列。我只想找到携带所有特定项目的人;即,personid
小号那些与具有itemid
个给定的值的集合的行。只有存在一组特定的行时,才会查询字段的值
什么是我可以做到这一点的好办法?
只给这个适当的封闭,这里的onedaywhen的回答评论':
http://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the-sql-of-relational-division/
SELECT personid, item FROM items WHERE itemid IN (1, 2, 3)
更改(1, 2, 3)
您用逗号分隔itemid
秒。
如果你只关心personid
,即不是他们的项目,那么下面可以更好地为您服务:作为一个经常性的回答
SELECT DISTINCT personid FROM items WHERE itemid IN (1, 2, 3)
请停止在标题中写标签。 – 2011-05-23 21:38:15
您需要的关系运算符是[division](http://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the-sql-of-relational-division/)(“供应所有部件的供应商“)。 – onedaywhen 2011-05-23 21:57:40
是的,这就是我一直在寻找的。谢谢你给我一些东西来称呼它。 – Hamster 2011-05-24 15:42:43