首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果表中的任何值不为空,则仅显示此非空值。否则仅显示空值

问如果表中的任何值不为空,则仅显示此非空值。否则仅显示空值
EN

Stack Overflow用户
提问于 2012-12-18 21:32:17
回答 7查看 2.3K关注 0票数 0

我有桌子。

代码语言:javascript
复制
id    field1    field2
1     1000      500
2     1001      500
3     1002      500
4     1003      500
5     1004      500
6     1005      500
7     1006      500
8     1004      (null)
9     1003      (null)
10    1002      (null)

如何进行mysql查询:

如果任何field2不为空,则在field2不为空的地方显示all (id从1到7)。

如果所有field2都为null (表的id从1到7),则显示field2为null (id从8到10)的所有field2。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-12-18 21:55:31

代码语言:javascript
复制
SELECT *
FROM tab
WHERE NOT EXISTS ( SELECT id 
                   FROM tab 
                   WHERE field2 IS NOT NULL LIMIT 1) 
AND field2 IS NULL
OR field2 IS NOT NULL

只是为了澄清

操作员正在寻找一条语句

有了这些数据

代码语言:javascript
复制
id    field1    field2
6     1005      500
7     1006      500
8     1004      (null)
9     1003      (null)

结果是

代码语言:javascript
复制
id    field1    field2
6     1005      500
7     1006      500

有了这些数据

代码语言:javascript
复制
id    field1    field2
8     1004      (null)
9     1003      (null)

结果是

代码语言:javascript
复制
id    field1    field2
8     1004      (null)
9     1003      (null)
票数 1
EN

Stack Overflow用户

发布于 2012-12-18 21:36:32

如果要检索field2不为NULL所有记录,请使用以下命令

代码语言:javascript
复制
SELECT id FROM table_name WHERE field2 <> NULL;

如果你想反其道而行之,使用下面的代码

代码语言:javascript
复制
SELECT id FROM table_name WHERE field2 IS NULL;
票数 1
EN

Stack Overflow用户

发布于 2012-12-18 21:41:31

您的意思可能是,如果field2的值为空,则显示field1的值

代码语言:javascript
复制
SELECT COALESCE(field2, field1) fieldValue
FROM   tableName

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13934146

复制
相关文章

相似问题

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