我需要有关SQL查询的小帮助。
我有两个表:tbltrans
和tbltrans_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/