我遇到以下 MySQL 请求问题:
SELECT u.id
FROM users u
WHERE users.job_id IN ( SELECT id FROM jobs )
我的两张 table 是这样的:
用户
id | job_id
------ | ------
1 | 000350
2 | 000600
3 | 000000
职位
id | job
------- | ---------
000350 | engineer
000600 | sales
我的请求结果是:
id
----
1
2
3
job_id 000000(它是一个有六个零的 INT)并未从我的结果中排除。但我不想要这一行 id = 3 和 job_id = 000000。
有什么想法吗?可能是mysql的设置?
感谢您的帮助
最佳答案
使用 JOIN 获取结果:
SELECT u.id
FROM users u
JOIN jobs j
ON u.job_id = j.id
关于MySQL - IN 子查询无法与 INT 000 正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43374088/