我有這個疑問:這個簡單的COALESCE選擇查詢有什麼問題? (MySQL的)
SELECT
COALESCE(CONCAT(Ar.usaf, '-', Ar.wban),"NONE") AS TABLE_NAME
FROM
`metadata`.`ISH-HISTORY_HASPOS` A
INNER JOIN `metadata`.`Artificial` Ar ON (Ar.id = A.mergeId)
WHERE
A.usaf = usaf
AND A.wban = wban;
當沒有發生一起,結果是NULL我所期望的查詢與「NONE」凝聚了空結果,但我仍然得到NULL。 我該如何讓「NONE」返回而不是NULL?
我忘了說明一個重要的觀點: usaf
和wban
是IN
變量的stored procedure
。 這是我最後的(工作)版本。感謝羅蘭
BEGIN
SET @usaf = usaf;
SET @wban = wban;
SELECT
COALESCE(CONCAT(Ar.usaf, '-', Ar.wban),"NONE") AS TABLE_NAME
FROM
`metadata`.`ISH-HISTORY_HASPOS` A
INNER JOIN `metadata`.`Artificial` Ar ON (Ar.id = A.mergeId AND A.usaf = @usaf AND A.wban = @wban)
LIMIT 1;
END
如果您在sqlfiddle上發佈您的模式和查詢將會很有幫助 - 幫助我們幫助您 – povilasp