[SQL ] 查詢多個表資料

作者: Talenius (Harmonic Inspirations)   2017-02-08 14:53:10
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
資料庫名稱:SQL Server
資料庫版本:2014
內容/問題描述:
有三個表,分別為A、B、C
表A
Aid  Bid Cid
a111 1 1
a112 2 1
a113 1 1
表B
Bid BName
1 S
2 D
3  C
表C
Bid Cid CName
1 1 S1
1 2 S2
2 1 D1
3  1 C1
現在需要把表A的Bid、Cid分別換成表B的BName、C的CName,格式內容如:
Aid  BName  CName
a111  S    S1
a112  D D1
a113  S S1
但是卻是如下:(錯誤)
Aid  BName  CName
a111  S    S1
a112  D S2←錯,應為D1
a113  S D1←錯,應為S1
其程式如下:(錯誤)
SELECT 表A.Aid, 表B.BName, 表C.CName
FROM 表A JOIN 表B ON 表A.Bid = 表B.Bid
JOIN 表C ON 表A.Cid = 表C.Cid
抓表B的BName應無問題
但是抓表C時,因需要表C的Cid與表B的Bid條件同時成立才能抓正確的CName
不然它似乎直接依表C的Cid順序抓
不清楚如何修正這裡的寫法
懇請提供寶貴建議
謝謝
作者: billy522 (過好每一天)   2017-02-08 20:42:00
JOIN 表C ON 表A.Cid = 表C.Cid and 表A.Bid = 表C.Bid
作者: Talenius (Harmonic Inspirations)   2017-02-09 08:00:00
感謝b大救援

Links booklink

Contact Us: admin [ a t ] ucptt.com