【发布时间】:2012-12-19 15:54:56
【问题描述】:
我有这个问题:
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 时,我希望查询将 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 上发布您的架构和查询会很有帮助 - 帮助我们帮助您
标签: mysql sql select coalesce null-coalescing-operator