[英]Simple SQL query to select a max
我需要有关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
尝试:
select coalesce((select max(transid) from tbltrans_temp),
(select max(transid) from tbltrans),
0)
您很接近-只需删除联接即可:
select ifnull(ifnull(max(t1.transid), max(t2.transid)),0)
from tbltrans_temp t1, tbltrans t2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.