[英]SQL combine two query results 2
查找船的名稱和船的 colors 以及預訂“綠色”船的水手的姓名。
我怎樣才能將它們結合在一起?
select B.bname, B.color
from Boats B
select S.sname
from Sailors S
where S.sid in (select s.sid
from Sailors s, Reserves r, Boats b
where s.sid = r.sid and r.bid = b.bid and b.color = 'green');
我試過這個,但我得到了重復
select B.bname, B.color, S.sname
from Boats B, Sailors S
where S.sid in (select s.sid
from Sailors s, Reserves r, Boats b
where s.sid = r.sid and r.bid = b.bid and b.color = 'green');
您可以使用join
。 您應該避免使用隱式連接以獲得最佳實踐,而是使用 ANSI join
語法,如下所示。
select
b.bname,
b.color,
s.sname
from Sailors s
join Reserves r
on s.sid=r.sid
join Boats b
on r.bid=b.bid
where b.color='green'
如果上面的結果給你重復,那么你可以使用distinct
as distinct b.bname
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.