有人可以帮我构建一个 SQL 查询,如果 column1 为空/空,我应该从 column2 获取值,如果 column2 也是空/空,我应该从 column3 获取值。
下面是我正在使用的表格
Price1 Price2 Price3
120
140
160
Run Code Online (Sandbox Code Playgroud)
我正在寻找的输出是
Price
120
140
160
Run Code Online (Sandbox Code Playgroud)
我已经试过了
select Price1 as Price
from A
WHERE PRICE1 IS NOT NULL
UNION
SELECT PRICE2 as Price
from A
where PRICE1 is null
UNION
select PRICE3 as id
from A
where PRICE2 is null
select COALESCE (PRICE1,PRICE2,PRICE3) from A
select ISNULL(PRICE1,ISNULL(PRICE2,PRICE3)) from A
select
case when PRICE1 IS not null then PRICE1 when PRICE1 IS null then PRICE2 WHEN PRICE2 IS NULL then PRICE3 end PRICE id from A
Run Code Online (Sandbox Code Playgroud)
以上语法都没有得到我正在寻找的数据。请帮忙
COALESCE像这样使用:
SELECT COALESCE(Price1, Price2, Price3) FROM A;
Run Code Online (Sandbox Code Playgroud)
但是,如果条目为空白而不是 NULL,这将不起作用。
如果您认为有空字符串,您可以尝试:
select
case when coalesce(PRICE1, '') <> '' then PRICE1
when coalesce(PRICE2, '') <> '' then PRICE2
when coalesce(PRICE3, '') <> '' then PRICE3
end AS PRICE
FROM A
Run Code Online (Sandbox Code Playgroud)