2015-10-15 29 views
0

我有兩個表如下如何從mysql中的連接表中獲取不等行?

user_job_applied

user_job_applied

company_viewed_user

company_viewed_user

我想爲user_job_applied表中的相關job_id取不在company_viewed_user表中的行。 我寫了下面的查詢,但它沒有抓住

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

+0

你'LEFT JOIN'沒有看到加入任何東西,它不應該是'ON company_viewed_user.user_id = user_job_applied。 user_id'? – dstudeba

+0

你爲什麼標記php? –

+0

讓我們看到有一個條件在左連接 – user3391137

回答

0

想在移動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'; 
0

您可以使用下面的查詢

SELECT uja.user_id 
FROM `user_job_applied` AS uja 
LEFT JOIN `company_viewed_user` AS cvu ON cvu.user_id = uja.user_id        
WHERE cvu.user_id IS NULL; 

如果你想添加任何其他過濾器,然後你可以包括你自己或讓我知道。

增加了新的條件

SELECT uja.user_id 
FROM `user_job_applied` AS uja 
JOIN company_user AS cu ON cu.user_id=uja.emp_id 
LEFT JOIN `company_viewed_user` AS cvu ON cvu.user_id = uja.user_id        
WHERE uja.job_id=1 AND cu.company_id=1 AND cvu.user_id IS NULL; 

注意:如果JOB_ID和COMPANY_ID沒有整型,然後用引號括起來。

+0

我也貼代碼就像你說的..但它沒有給出結果 – user3391137

+0

PLZ執行一次檢查結果,希望你能得到期望的結果。 –

+0

沒有emp_id條件它正在工作..with emp_id查詢就像下面的回答帖子。 – user3391137

相關問題