mysql - 如何从连接结果中排除 NULL 行

标签 mysql

下面是我想要从中生成输出表的表 t1 和 t2。 我的困难是不在输出中包含 y1NULL 的行。

+--------------+  +--------------+  
|      t1      |  |      t2      | 
+--------------+  +--------------+
| x0 | x1 | x2 |  |  x0  |   y1  |    
+--------------+  +--------------+
| a  | 10 | a  |  |  a   |  haha |
| b  | 11 |NULL|  |  b   |  NULL |
| c  | 12 | c  |  |  c   |  foo  |
| d  | 13 |NULL|  |  d   |  NULL |
+--------------+  + -----+-------+

+--------------+
|    output    |
+--------------+
|  x0  |  y1   |
+--------------+
|  a   |  haha |
|  c   |  foo  |
+--------------+

我尝试过:

SELECT t1.x2, t2.y1
FROM t1
LEFT JOIN t2 ON t1.x0 = t2.x0

另外:在某些情况下,我的行不会显示NULL,而只是空单元格。

最佳答案

您需要:

SELECT t1.x2, t2.y1
FROM t1
LEFT JOIN t2 ON t1.x0 = t2.x0
WHERE y1 IS NOT NULL AND y1 <> ''

关于mysql - 如何从连接结果中排除 NULL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26575896/

相关文章:

mysql - 无论第二个表是否返回数据,都返回第一个表数据,运算符连接规范化

mysql - mysql表列的数据类型应该是什么,用于存储注释

mysql - 从 MySql 中的多个表中获取最后几行?

php - 链接表查询

PHP/MySQL : list And explode Multiple Characters

mysql - 如何更新 mysql 查询中的列

php - $.get 没有给出错误但不起作用

mysql - 在 SQL 中连接多个表并执行算术

php - 数据库删除具有相同值的行

PHP MySql 进度条