2016-05-17 17 views
0

solrのキーワードを検索して一致するresume idを返します。solrの結果を取得したときに、それらの文書を検索して、データベースから一致する求職者を取得しています。 今私の質問はここでcakephpとmysqlを使用した結合によるOR条件

は私の既存のクエリ..ですそれはすなわちjob_seekers.skills文書や求職者のスキルにクエリを作成する方法の列に一致する場合は、レコードを取得する必要があります。..

SELECT * 
FROM `job_seekers` AS `JobSeeker` 
LEFT JOIN `job_seeker_documents` AS `JobSeekerDocument` ON (`JobSeeker`.`id` = `JobSeekerDocument`.`job_seeker_id` AND `doc_attachment` IN ('1457448773Jan.doc', '1457448764Eric.doc', 'Vijal_Chokshi_Profile.doc', 'Deborah_Project manager_Profile..docx')) 
LEFT JOIN `config_work_authorizations` AS `ConfigWorkAuthorization` ON (`JobSeeker`.`work_authorization` = `ConfigWorkAuthorization`.`id`) 
LEFT JOIN `employees` AS `Employee` ON (`Employee`.`job_seeker_id` = `JobSeeker`.`id`) 
WHERE `JobSeeker`.`company_id` = 11 AND `JobSeeker`.`skills` = 'java' AND `JobSeeker`.`bench_status` IN (0, 1) AND (select count(*) from employee_jobs where `employee_jobs`.`employee_id`=`Employee`.`id` and `employee_jobs`.`job_status` =1) = 0 GROUP BY `JobSeeker`.`id` HAVING (COUNT(`JobSeekerDocument`.`id`) > 0); 

答えて

0

あなたのクエリで

(`JobSeeker`.`skills` = 'java' OR `JobSeekerDocument`.`skills` = 'java') 

よう()すなわち括弧内or条件を書くことができます

SELECT * 
FROM `job_seekers` AS `JobSeeker` 
LEFT JOIN `job_seeker_documents` AS `JobSeekerDocument` ON (`JobSeeker`.`id` = `JobSeekerDocument`.`job_seeker_id` AND `doc_attachment` IN ('1457448773Jan.doc', '1457448764Eric.doc', 'Vijal_Chokshi_Profile.doc', 'Deborah_Project manager_Profile..docx')) 
LEFT JOIN `config_work_authorizations` AS `ConfigWorkAuthorization` ON (`JobSeeker`.`work_authorization` = `ConfigWorkAuthorization`.`id`) 
LEFT JOIN `employees` AS `Employee` ON (`Employee`.`job_seeker_id` = `JobSeeker`.`id`) 
WHERE `JobSeeker`.`company_id` = 11 
AND (`JobSeeker`.`skills` = 'java' OR `JobSeekerDocument`.`skills` = 'java') 
AND `JobSeeker`.`bench_status` IN (0, 1) 
AND (select count(*) from employee_jobs where `employee_jobs`.`employee_id`=`Employee`.`id` and `employee_jobs`.`job_status` =1) = 0 
GROUP BY `JobSeeker`.`id` 
HAVING (COUNT(`JobSeekerDocument`.`id`) > 0); 
+0

ありがとうございます。私はあなたの 'JobSeeker''スキル列は持っていますが、' JobSeekerDocument'.skills'はありません。私は 'doc_attachment'を使ってスキルを検索しています。 '(' 1457448773Jan.doc ')。スキルが(' 1457448773Jan.doc ')ドキュメントか 'JobSeeker'.skills'カラムのいずれかにマッチしている場合は、レコードを取得しなければなりません。 – user3351289

関連する問題