2013-02-08 91 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)