如果存在LIMIT 1,则选择左外连接值,否则选择另一个值

时间:2014-04-30 19:42:57

标签: mysql sql

如果左外连接提供了一个值(我的例子为t2.id),我想选择它。请注意,对于我的特定数据,左连接只有一个或零个匹配。如果没有,我想选择另一个值。

以下操作无效,因为没有LIMIT 1的查询可能会返回多行,而第一行可能不会是左连接匹配的行。

SELECT COALESCE(t2.id,t1.id) AS id
FROM t1
LEFT OUTER JOIN t2 ON t2.id=t1.t2_id
WHERE t2.fk=123
ORDER BY id DESC LIMIT 1

如何选择存在限制的左连接返回的值?

1 个答案:

答案 0 :(得分:2)

order by更改为:

order by (t2.id is not null) desc