[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