線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:904
推到 Plurk!
推到 Facebook!

多Table查詢問題

尚未結案
tonyplus
初階會員


發表:22
回覆:97
積分:28
註冊:2002-04-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-08 17:14:48 IP:61.57.xxx.xxx 未訂閱
小弟有三個Table,分別為 Acer Beer Cool 目前語法如下: Select A1,A2,A3,A4,A5,(select Z1 from Z Where title = 'now_status') as A6,B1,B2,B3,B4,B5 FROM ACER A LEFT JOIN BEER B ON A.A1 = B.B1 union Select A1,A2,A3,A4,A5,(select Z1 from Z Where title = 'now_status') as A6,B1,B2,B3,B4,B5 FROM Cool A LEFT JOIN BEER B ON A.A1 = B.B1 看來 Acer 和 Beer 是大部份相同的,如果要加入一個 table 僅只有 A1,A2 與上述三個table相同,可否加入同一個SQL語法中,是不是也是使用union,還是必須分開處理!? 請各位前輩、高手指點迷津!!謝謝!
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-08 18:19:56 IP:203.95.xxx.xxx 未訂閱
可以的, 使用 union 但要注意欄位的型態, 使用常數給值即可, 如 select A1, A2, A3, A4 from tableA union select A1, A2, '', 0 from tableB 其中 A1, A2 為相同欄位, 但 tableB 中沒有 A3, A4, 而 tableA 中的 A3, A4 分別為 varchar 及 int 時, 就用常數代入囉!!
tonyplus
初階會員


發表:22
回覆:97
積分:28
註冊:2002-04-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-09 10:21:53 IP:61.57.xxx.xxx 未訂閱
引言: 可以的, 使用 union 但要注意欄位的型態, 使用常數給值即可, 如 select A1, A2, A3, A4 from tableA union select A1, A2, '', 0 from tableB 其中 A1, A2 為相同欄位, 但 tableB 中沒有 A3, A4, 而 tableA 中的 A3, A4 分別為 varchar 及 int 時, 就用常數代入囉!!
謝謝 timhuang 兄的指點,您說的我懂,小弟不懂的地方在於 Acer LEFT JOIN Beer UNION Cool LEFT JOIN Beer BEER加入ACER 聯合 BEER加入COOL 那如果再加入第四個資料表Dick,也是 Dick Left Join Beer 嗎?? Acer LEFT JOIN Beer UNION Cool LEFT JOIN Beer UNION Dick LEFT JOIN Beer 是這樣嗎??小弟試過以上語法的結果,如果Where設在第四個資料表,搜尋將沒有作用、效果 請各位前輩、高手指點迷津!!謝謝!
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-09 10:31:45 IP:220.134.xxx.xxx 未訂閱
where部份則下於各JOIN條件之後 如
select a Acer LEFT JOIN Beer on acer.field=beer.field where ....
UNION
select b Cool LEFT JOIN Beer on cool.field=beer.field where ....
UNION
select c Dick LEFT JOIN Beer on dick.field=beer.field where .....
========================= 讀萬卷書~不如來K.TOP走一遭 =========================
系統時間:2024-07-01 9:56:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!