Re: [SQL ] MySQL LEFT JOIN 多條件的優先權

作者: JYHuang (夏天到了,冷不起來了說)   2015-06-03 22:51:08
※ 引述《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
作者: JYHuang (夏天到了,冷不起來了說)   2014-06-03 21:59:00
謝謝~不好意思沒說清楚,不過這個CASE裡兩個Table都是多筆資料的集合,所以這樣JOIN的話似乎會限縮Table2的範圍只能取到前幾筆
作者: sing10407 (阿U)   2015-06-03 23:22:00
等到變慢再來看吧 加油

Links booklink

Contact Us: admin [ a t ] ucptt.com