我想要一个查询,显示所有S#和Sname,他们都有红色的P#

时间:2017-05-20 05:36:01

标签: mysql sql database

我有一个数据库:

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

1 个答案:

答案 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'