看板 Database 關於我們 聯絡資訊
你在問題當中的用詞似乎有點模糊, 我假設你的index其實就是指 primary key. 要聯結A,B,C的話: select A.a1,A.a2,B.b2,C.c2 from A left join B on A.b = B.b1 left join C on A.c = C.c1; 這樣就行了. 若要聯結A,B,C,D,E的話, 可能會有問題. 因為A,B,C,E皆無外鍵(foreign key) 可聯結到D的主鍵(primary key), 所以底下只考慮聯結A,B,C,E: select A.a1,A.a2,B.b2,C.c2,E.e2 from A left join B on A.b = B.b1 left join C on A.c = C.c1 left join E on C.e = E.e1; ※ 引述《vvbird (vv)》之銘言: : 先說一下, 我用的是 myqsl 5.0 : 我一共有 5 個資料表 : A表... : int a1 <-- index : int a2 : int b --> 連到 B 表的 b1 : int c --> 連到 C 表的 c1 : B 表 : int b1 <-- index : int b2 : int d : C 表 : int c1 <-- index : int c2 : int e --> 連到 E 表的 e1 : D 表 : int d1 <-- index : int d2 : E 表 : int e1 <-- index : int e2 : **** 狀況一 **** : 我要把 A 和 B 連在一起, 然後列出 A.a1, A.a2, B.b2 : 我知道, 可以利用 : select A.a1,A.a2,B.b2 from A left join B on A.b = B.b1; : **** 狀況二 **** : 我要把 A 和 C 和 E 連在一起, 列出 A.a1, A.a2, C.c2, E.e2 : select A.a1,A.a2,C.c2,E.e2 from A left join C on A.c = C.c1 : left join E on C.e = E.e1; : 我的問題有二個... : **** 問題一 **** : 我要把 A 和 B、C 連在一起, 列出 A.a1, A.a2, B.b2, C.c2 : 接著是錯誤的..:< : 錯一: select A.a1,A.a2,B.b2,C.c2 from A left join B,C on A.b=B.b1, A.c=C.c1; : 錯二: : select A.a1,A.a2,B.b2,C.c2 from A left join B on A.b = B.b1 left : left join C on A.c = C.c1; : 那正確的該怎麼辦呢? : **** 問題二 **** : 如果我連 D,E 也要連進來 : 也就是說 A.a1,A.a2,B.b2,C.c2,D.d2,E.e2 : 那我又該怎麼下 select? : 有點亂, 不好意思 : 也謝謝你看完我的問題..m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.193.210
vvbird:謝謝... 02/04 01:59