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