我有一个表部分(No,Desc,Draw)。
我想以这种形式返回表格中所有部分的列表:
Part Number| Description | Is Packed ? (Yes/No)|
------------------------------------------------
在结果集中,如果Draw列不为null,则Is Packed标头应为Yes,否则为No。
我正在使用PL / SQL。
我不知道该怎么做。
答案 0 :(得分:4)
SELECT No AS "Part Number", Desc AS "Description",
CASE
WHEN Draw IS NOT NULL THEN 'Yes'
ELSE 'No'
END AS "Is Packed"
FROM Part
您可能需要在字段列表中转义Desc
,因为它是保留字。
答案 1 :(得分:2)
在这种情况下,作为CASE
的替代方法(请参阅其他答案),您可以使用NVL2
:
SELECT No AS "Part Number", Desc AS "Description", NVL2 ( DRAW, 'YES', 'NO' ) AS "Is Packed" FROM PART
BTW:你应该创建一个DB对象(表/列......),其名称是一个保留字(在你的情况下为Desc
) - 这可能导致非常奇怪的事情... < / p>
答案 2 :(得分:1)
使用CASE
:
CASE WHEN Draw IS NOT NULL THEN 'Yes'
ELSE 'No'
END AS column_alias