我正在做一个练习,第一个问题是:
1-选择带有经理的名称列表,如果经理为null,请向我显示“总裁”
现在我很新,但是如何选择所有有条件的列呢?
发布于 2022-10-05 17:59:39
这将通过case表达式、IF()、IIF()、IFNULL()、ISNULL()、NVL()或COALESCE()函数来完成,这取决于到目前为止所学到的内容以及您在类中使用的关系数据库管理系统。
除了MS Access之外,几乎所有的关系数据库管理系统都是CASE WHEN mgr IS NULL THEN 'President' ELSE mgr END:
除了MS Access之外,几乎所有的关系数据库管理系统都是COALESCE(mgr, 'President');:
IFNULL(mgr, 'President'):
ISNULL(mgr, 'President')
NVL(mgr, 'President')
IF(mgr IS NULL, 'President', mgr):
IIF(mgr is NULL, 'President', mgr):
发布于 2022-10-05 18:03:28
您没有提供任何关于列名的信息,所以我使用的是组合列名。
这是样品表。里面有两列。
EMP | MGR
----------
ABC | DEF
DEF | NULL
XYZ | HJK
HJK | NULL
OPQ | DEF根据你的要求,我相信你是在写信给总统而不是无效。因此,这个查询可能适合您(这可能需要根据您的数据库进行一些更改)
SELECT EMP,
CASE
WHEN MGR IS NOT NULL THEN MGR
ELSE 'PRESIDENT'
END AS 'MGR'
FROM MYTABLE;结果应该是这样:
EMP | MGR
----------
ABC | DEF
DEF | PRESIDENT
XYZ | HJK
HJK | PRESIDENT
OPQ | DEFhttps://stackoverflow.com/questions/73964348
复制相似问题