看板 Database 關於我們 聯絡資訊
※ 引述《sing10407 (阿U)》之銘言:
JYHuang: 謝謝~ 06/03 21:59
JYHuang: 不好意思沒說清楚,不過這個CASE裡兩個Table都是多筆 06/03 21:59
JYHuang: 資料的集合,所以這樣JOIN的話似乎會限縮Table2的範圍 06/03 22:00
JYHuang: 只能取到前幾筆 06/03 22:00
: 對不起我錯了... : 你可以google 關鍵字 sql get top 1 of each group : 或去stackoverflow問 那裡會較多人回答 找了以前寫過的方法來改 SELECT * FROM `TABLE1` as `a` LEFT JOIN ( SELECT * FROM ( SELECT * FROM `TABLE2` WHERE `id` IN(10,1) ORDER BY `id` = coalesce(10,1) DESC ) as `b` GROUP BY `id` ) as `b` ON `a`.key = `b`.`key` 似乎是可以的,只是不知道效率好不好,或是有更好用的寫法 因為原始的條件其實還有LEFT JOIN兩三個Table -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.145.114 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1433343071.A.998.html ※ 編輯: JYHuang (111.255.145.114), 06/03/2015 22:52:04
sing10407: 等到變慢再來看吧 加油 06/03 23:22