Re: [SQL ] 同時查詢兩張資料表的問題

看板Database作者 (貓奴一隻)時間14年前 (2011/09/21 13:09), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《phreat (雷)》之銘言: : 因為sql語法實在太弱,又上線請各位賜教了 : table_a : a b time id : 1 2 110901 1 1 : 3 4 110903 1 : table_b : c d time id : 5 6 110902 1 : 想利用mysql 語法 輸出成這樣 : 0的地方也可以是null : a b c d time : 1 2 0 0 110901 : 0 0 5 6 110902 : 3 4 0 0 110903 : 試過這個語法 : SELECT a,b,time FROM `table_a` where `id`='1' union all SELECT c,d,time FROM : `table_b` WHERE `id`='1' ORDER BY `time` ASC 我想到的是這個方式 (SELECT a,b,0 AS c,0 AS d,time FROM table_a WHERE id='1') union (SELECT 0 AS a,0 AS b,c,d,time FROM table_b WHERE id='1') ORDER BY time ASC 先把缺的欄位先增加上去 再union 就是 把0 或者說'0'視為一個欄位 名稱是xxx 加在select出來的資料上 : 但會變成 : a b time : 1 2 110901 : 5 6 110902 : 3 4 110903 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.240.99 ※ 編輯: maplenote 來自: 203.67.240.99 (09/21 13:11)

09/21 14:00, , 1F
09/21 14:00, 1F

09/21 22:11, , 2F
呵 跟我現在的做法一樣,不過還是非常感謝你唷^^ 另外我是用
09/21 22:11, 2F

09/21 22:16, , 3F
union all 因為我的資料相同的要保留下來
09/21 22:16, 3F
文章代碼(AID): #1EUN6ZdL (Database)
文章代碼(AID): #1EUN6ZdL (Database)