我有一个数据库:
S(S#,Sname,status,City)
P(P#,Pname,color,weight,city)
SP(S#,P#,number)
我想要一个查询,显示所有S#和Sname,他们都有红色P#。
示例:
S:
S1 Sname1 status1 city(1)
S2 Sname2 status2 City(2)
S3 Sname3 status3 City(3)
P:
P1 Pname1 red weight1 city(n)
P2 Pname2 blue weight2 city(n)
P3 Pname3 green weight3 city(n)
P4 Pname4 red weight4 city(n)
SP:
S1 P1 number1
S1 p4 number2
s2 p1 number3
s3 p3 number4
S3 p1 number5
S3 p4 number6
S2 p2 number7
预期答案:
S1,Sname1
S3,Sname3
答案 0 :(得分:0)
您只需要加入表格并从表格S中获取不同的行:
select distinct s.s_id,
s.name
from s
join sp on s.s_id = sp.s_id
join p on sp.p_id = p.p_id
where p.color = 'red'