首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql错误输出

问sql错误输出
EN

Stack Overflow用户
提问于 2022-10-05 17:46:57
回答 2查看 46关注 0票数 -2

我正在做一个练习,第一个问题是:

1-选择带有经理的名称列表,如果经理为null,请向我显示“总裁”

现在我很新,但是如何选择所有有条件的列呢?

EN

回答 2

Stack Overflow用户

发布于 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'):

  • Mysql和MariaDB

ISNULL(mgr, 'President')

  • MS Server和MS Access

NVL(mgr, 'President')

  • Oracle:

IF(mgr IS NULL, 'President', mgr):

  • Mysql和Mariadb

IIF(mgr is NULL, 'President', mgr):

  • MS Access
票数 0
EN

Stack Overflow用户

发布于 2022-10-05 18:03:28

您没有提供任何关于列名的信息,所以我使用的是组合列名。

这是样品表。里面有两列。

代码语言:javascript
复制
EMP | MGR
----------
ABC | DEF
DEF | NULL
XYZ | HJK
HJK | NULL
OPQ | DEF

根据你的要求,我相信你是在写信给总统而不是无效。因此,这个查询可能适合您(这可能需要根据您的数据库进行一些更改)

代码语言:javascript
复制
SELECT EMP,
       CASE
        WHEN MGR IS NOT NULL THEN MGR
        ELSE 'PRESIDENT'
       END AS 'MGR'
FROM MYTABLE;

结果应该是这样:

代码语言:javascript
复制
EMP | MGR
----------
ABC | DEF
DEF | PRESIDENT
XYZ | HJK
HJK | PRESIDENT
OPQ | DEF
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73964348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档