Chr*_*rds 1 mysql sql select phpmyadmin
我遇到了我认为应该是最简单的SQL语句的问题,但它对我不起作用......
我有4个表:S,P,J和SPJ,其中SPJ基本上是一个将所有ID连接在一起的表.
现在,所需的声明是:"获取供应P2部分和P4部分的供应商的供应商编号."
SELECT SNO FROM SPJ WHERE PNO = 'P2' AND PNO = 'P4'
- 没有返回结果(这是错误的)
SELECT SNO FROM SPJ WHERE PNO = 'P2' UNION SELECT SNO FROM SPJ WHERE PNO = 'P4'
- 返回结果,加上额外的,只提供两个中的一个......
我已经尝试了各种各样的陈述,但无法弄明白,我知道它必须简单,但我只是看不到它......
有人有任何想法吗?
干杯
这将为您提供提供两个部件的供应商,而不是提供这两个部件的供应商.
select sno
from spj
where pno in ('P2','P4')
group by sno
having count(distinct pno) = 2
Run Code Online (Sandbox Code Playgroud)