为什么COALESCE返回NULL而不是我需要的值?

时间:2017-05-08 01:01:10

标签: sql-server tsql coalesce

从表tblQuoteStatusChangeLog我需要检查列NewQuoteStatusID是否具有其中一个值(2,25或202),并选择最早的TimeStamp。 因此,如果它具有值2,则选择TimeStamp,如果它没有值2,则检查是否有25并选择相应的TimeStamp ,如果不是那么检查202并拿起适当的印章。

因此,从tblQuoteStatusChangeLog开始,我需要获取状态ID为202的第一行,因为它是唯一符合条件的行。

enter image description here

所以我有这个问题:

SELECT  
      (SELECT        TOP (1) Timestamp
                    FROM            tblQuoteStatusChangeLog
                    WHERE        NewQuoteStatusID = COALESCE (2,25,202)  AND ControlNo = tblQuotes.ControlNo
                    ORDER BY Timestamp DESC) as DateQuoted
FROM tblQuotes
INNER JOIN tblMaxQuoteIDs ON tblQuotes.QuoteID = tblMaxQuoteIDs.MaxQuoteID
where tblQuotes.ControlNo = 50065 

但由于某种原因,我得到了NULL

enter image description here

我在这里缺少什么? 感谢

0 个答案:

没有答案
相关问题