仅选择必须满足两个条件的记录
我有这个表:
id type otherid
1 4 1234
2 5 1234
3 4 4321
正如你所看到的,有3条记录,其中2条属于otherid“1234”,类型为4和5。
最后一条记录属于otherid“4321”,只有类型4。
我需要选择仅包含类型 4 而未包含类型 5 的所有 otherid。
示例:在该表上进行此选择后,查询应该仅返回记录 3
谢谢
add1:
请考虑 TYPE 可以是 1 到 20 之间的任何数字。 我只需要获得类型 4 但不需要类型 5 的 otherid (除了它们可以有任何其他类型)
add2:
using mysql 5.1
I have this table:
id type otherid
1 4 1234
2 5 1234
3 4 4321
As you can see there are 3 records, 2 of them belongs to otherid "1234" and got type of 4 and 5.
Last record belongs to otherid of "4321" and has only a type of 4.
I need to select all otherid that got only the type 4 and not the type5.
Example: after this select on that table the query shuould return only the record 3
Thanks
add1:
Please consider the TYPE can be any number from 1 up to 20.
I only need otherid that got type 4 but not type 5 ( except than that they can have any other type )
add2:
using mysql 5.1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一种解决方法
This is kind of a workaround
您可以使用
not contains
子查询:You could use a
not exists
subquery:另一种方法是使用左联接,从中排除同时具有类型 4 和 5 的行:
Another way is by using a left join from where you exclude rows that have both type 4 and 5: