2013-02-08 90 views
1

我有3個實體患者ID,具有ID,職業和PatientDeclaration與patient_id(fk)和workers_id(fk)的工人。當我擁有patient_id和職業時,我想從PatientDeclaration獲取workers_id。類似的東西,如何創建(可能)嵌套查詢?

'SELECT c FROM SurgeryPatientBundle:PatientDeclaration c WHERE c.patient = ?1 AND c.patient =(SELECT w FROM SurgeryWorkersBundle:Workers WHERE p.profession = ?2)' 

我suposse,我創建嵌套查詢? 編輯 解決我提出不同勢查詢

SELECT w.id FROM SurgeryWorkersBundle:Workers w JOIN w.patientdeclaration p WHERE w.profession = ?1 AND p.patient = ?2 

回答

0

您可以使用子查詢

SELECT 
    c 
FROM 
    SurgeryPatientBundle:PatientDeclaration c 
JOIN 
    c.patient p 
WHERE 
    p = ?1 
    AND 
    p.id IN (SELECT w.id FROM SurgeryWorkersBundle:Workers WHERE p.profession = ?2)