我有以下表结构:
表Sailor
:
sid sname
-------------------
22 Dustin
29 Brutus
31 Luber
32 John
表Boat
:
bid bname
-------------------
101 Pirate
102 Pirate
103 Marine
表Reserve
:
bid sid day
------------------------------
101 22 10/10/98
102 22 10/10/98
103 22 10/8/98
103 31 10/7/98
102 29 9/8/98
103 32 9/8/98
预期结果是:找到所有保留所有船只Pirate
的船员的姓名。
基本上,我需要查询所有已保留名为Pirate
的船名的水手姓名。
唯一的问题是,在表格船中,我有2列bname为Pirate,他们的出价不同。
知道如何通过查询实现它吗?
答案 0 :(得分:0)
如果我理解正确您正在寻找加入操作:
SELECT S.* FROM Sailor S JOIN Res R ON S.sid = R.sid
JOIN Boat B on R.bid = B.bid where B.bname = 'Pirate'
希望有所帮助
答案 1 :(得分:0)
无论如何,这是一种方式:
select b.bid,b.bname,s.sid,s.sname,r.day
from Boat b join Reserve r on b.bid = r.bid
join Sailor s on r.sid = s.sid
where b.bname = 'Pirate';