mysql - 如何从mysql中的连接表中获取不相等的行?

标签 mysql

我有两个表如下

user_job_applied

user_job_applied

company_viewed_user

company_viewed_user

我想将不在company_viewed_user表中的行作为user_job_applied表中的相关job_id。 我为它编写了以下查询,但它没有被抓取

SELECT
    `user_job_applied`.user_id
FROM
    `user_job_applied`
LEFT JOIN 
    `company_viewed_user` 
ON 
    `company_viewed_user`.user_id ON `company_viewed_user`.user_id = `user_job_applied`.user_id                               
WHERE
    `company_viewed_user`.user_id IS NULL AND
    `company_viewed_user`.emp_id IN (SELECT user_id 
                                     FROM company_user 
                                     WHERE company_id='1') 
AND
    `user_job_applied`.job_id = '1'; 

输出应如下所示 enter image description here

最佳答案

想要将 emp_id 条件从 where 子句移至左连接语句

SELECT
`user_job_applied`.user_id
FROM
`user_job_applied`
LEFT JOIN `company_viewed_user` ON `company_viewed_user`.user_id = `user_job_applied`.user_id AND 
                                                                `company_viewed_user`.emp_id IN (SELECT user_id FROM company_user WHERE company_id='1')                             
WHERE
`company_viewed_user`.user_id IS NULL AND                        
`user_job_applied`.job_id = '1';

关于mysql - 如何从mysql中的连接表中获取不相等的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140305/

相关文章:

php - 在 while 循环中访问第二个表

php - SQL 检查 NULL 字段

python - 在 MySQL 中使用 SP 更新/标记重复条目

mysql - brew 服务列表显示 mysql 正在运行但无法连接

c# - NHibernate QueryOver - 结果太多的集合

mysql - 如何根据MySQL中子查询结果的组合选择特定值

mysql - 如何对 GROUP BY x DESC 进行查询

MySQL 子查询的查询性能 - 具有数百万行的表

mysql - SQL查询选择记录之间连续3年

python - 无法使用Python和scrapy管道将数据插入MySQL