簡體   English   中英

多對多關系的SQL查詢問題

[英]SQL query issue for a many to many relationship

我具有以下表結構:

桌上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,並且它們的出價不同。

知道如何通過查詢實現嗎?

如果我理解正確,那么您正在尋找連接操作:

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'

希望能幫助到你

順便說一句,您的日期不明確。 請使用YYYY-MM-DD(或YYYYMMDD)格式。

無論如何,這是一種方法:

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';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM