sql - 子表条件返回null

标签 sql mysql database

假设我有 2 张 table ,分别是人和工作。

+--------+--------------+------+-----+---------+----------------+
| Field  | Type         | Null | Key | Default | Extra          |
+--------+--------------+------+-----+---------+----------------+
| id     | int(11)      | NO   | PRI | NULL    | auto_increment |
| name   | varchar(255) | NO   |     | NULL    |                |
| job_id | int(11)      | NO   |     | NULL    |                |
+--------+--------------+------+-----+---------+----------------+

+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| j_id     | int(11)      | NO   | PRI | NULL    | auto_increment |
| j_name   | varchar(255) | NO   |     | NULL    |                |
| j_active | tinyint(1)   | NO   |     | 0       |                |
+----------+--------------+------+-----+---------+----------------+

我如何进行选择,它只返回一个 job_id (其中 j_active = 1),否则返回 0 或 NULL?因此,我希望始终返回所有人,但是当他们的工作不活跃时,我不想返回他们的工作 ID

最佳答案

select * from person p left join job j on p.job_id=j.j_id and j.j_active=1

关于sql - 子表条件返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4692884/

相关文章:

mysql - 如何获取具有第二高值的所有行

javascript - 求和 TD onkeyup

php - mysql 按字段排序,最后有 NULL 值

php - 如何构建自定义 PHP Mysql 或 PDO 函数

mysql - 主必须包括表的分区位置错误中的所有列?

MySQL Group By 将属性作为列?

mysql - 对于超过 3 个字节的字符,在将其保存到 Mysql 之前验证字符串

mysql - 有两个条件的两个字段的选择

mysql - 系统上有很多外键记录 "Likes"和注释

sql - PostgreSQL 中的逆透视表