以下是我的代码。内部查询返回null。我想检查返回的值是否为null然后我需要从其他查询中获取数据。我如何在案件内部使用,因为我的代码是以及
WHEN a.col1=105 THEN
(SELECT Title FROM Test WHERE ID =(SELECT TestID FROM Test2 WHERE ID = a.colID)).
答案 0 :(得分:1)
您可以COALESECE()
第一个查询,如果是NULL
,则拨打第二个查询:
WHEN a.col1 = 105 THEN
(
SELECT Title
FROM Test
WHERE ID =
COALESCE(
(SELECT TestID FROM Test2 WHERE ID = a.colID),
(SELECT ID FROM someOtherTable ...)
)
)
答案 1 :(得分:0)
你可以使用ISNULL函数返回值,如果不为null,如果为null,则返回第二个值:
WHEN a.col1=105 THEN
(SELECT Title FROM Test WHERE ID = ISNULL(
(SELECT TestID FROM Test2 WHERE ID = a.colID),
(SELECT * FROM BLAH)
)
)