簡體   English   中英

簡單的SQL查詢以選擇一個最大值

[英]Simple SQL query to select a max

我需要有關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 

嘗試:

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

http://sqlfiddle.com/#!5/2897f/1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM