我需要有关SQL查询的小帮助。

我有两个表:tbltranstbltrans_temp。我想选择tbltrans_temp max(tbltrans_temp.transid)的最大值。

如果tbltrans_temp为空并且返回null,则应采用tbltrans.transid的最大值。

如果两个表都为空,则应仅返回0。

我尝试了以下操作,但未获得预期的结果。

select ifnull(ifnull(max(t1.transid), max(t2.transid)), 0)
from tbltrans_temp t1
left join tbltrans as t2

最佳答案

使用COALESCE可以工作:

select coalesce(maxtemptrans, maxtrans, 0)
from (select max(transid) maxtemptrans from tbltrans_temp) t,
    (select max(transid) maxtrans from tbltrans ) t2



SQL Fiddle Demo

关于sql - 简单的SQL查询以选择一个最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17506784/

10-13 04:34