我该如何执行此 SQL SELECT 语句?
我有一个名为 SPJ 的表,其中包含 SNo、PNo、JNo 和数量。 SQL语句问题是:
获取供应P3零件但不供应P5零件的供应商的供应商编号。
现在我确信这应该很简单,但我无法让它返回正确的结果!
它应该只返回“S3”,因为它们是唯一提供第 3 部分但不提供第 5 部分的供应商,但它始终返回提供这两者的供应商数量,无论 NOT、<> 和 NOT 的组合如何。等被使用。
I have a table called SPJ with SNo, PNo, JNo and Quantity. The SQL statement problem is:
Get the supplier number of suppliers who supply part P3 but do not supply part P5.
Now I'm sure this should be simple, but i cannot get it to return the right results!
It should just return "S3", as they are the only ones who supply part 3 but not 5, yet it always returns the number of suppliers who supply both, no matter what combination of NOT, <> etc is used.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查找 EXCEPT 子句。
这是一个两步的事情。您需要编译第 3 部分的列表,并为第 5 部分创建一个单独的列表,然后将其删除。 EXCEPT 子句是实现此目的的一种方法。或者您可以使用“不存在的地方”
Look up the EXCEPT clause.
It's a two step thing. You need to compile the list for Part 3, and have a separate list for Part 5 that is then removed. the EXCEPT clause is one way to do this. Or you can use "Where not exists"