Php DQL外部联接存在问题
我的问题是:Php DQL外部联接存在问题,php,sql,symfony,doctrine,dql,Php,Sql,Symfony,Doctrine,Dql,我的问题是: SELECT r.pLastName, r.pFirstName, r.ppLocation, a.createdDate, a.appointmentDate, a.hour, a.minute, a.ampm, p.firstName, p.lastName, a.reason, pl.firstName as oncologyPhysicianFirstName, pl.lastName as oncologyPhysicianLastName FROM MainReferr
SELECT r.pLastName, r.pFirstName, r.ppLocation, a.createdDate, a.appointmentDate, a.hour, a.minute, a.ampm, p.firstName, p.lastName, a.reason, pl.firstName as oncologyPhysicianFirstName, pl.lastName as oncologyPhysicianLastName
FROM MainReferralCaptureBundle:Appointment a, MainReferralCaptureBundle:Referral r, MainReferralCaptureBundle:Physician p
RIGHT OUTER JOIN MainReferralCaptureBundle:PhysicansLocations pl WITH pl.physicansLocationsId = r.ppName
WHERE a.referralId = r.id
AND r.submittedBy = :user
AND r.rpId = p.id
ORDER BY a.appointmentDate DESC
我得到以下错误:
QueryException: [Syntax Error] line 0, col 366: Error: Expected end of string, got 'RIGHT'
如果我这样做:
SELECT r.pLastName, r.pFirstName, r.ppLocation, a.createdDate, a.appointmentDate, a.hour, a.minute, a.ampm, p.firstName, p.lastName, a.reason, pl.firstName as oncologyPhysicianFirstName, pl.lastName as oncologyPhysicianLastName
FROM MainReferralCaptureBundle:Appointment a, MainReferralCaptureBundle:Referral r, MainReferralCaptureBundle:Physician p
LEFT OUTER JOIN MainReferralCaptureBundle:PhysicansLocations pl WITH pl.physicansLocationsId = r.ppName
WHERE a.referralId = r.id
AND r.submittedBy = :user
AND r.rpId = p.id
ORDER BY a.appointmentDate DESC
我得到:
ORA-00904: "R0_"."PP_NAME": invalid identifier
我不知道发生了什么事。ppName是一个有效的标识符。请注意,我正在使用Oracle作为后端。发现我必须更改FROM子句中的顺序:
FROM MainReferralCaptureBundle:Appointment a, MainReferralCaptureBundle:Physician p, MainReferralCaptureBundle:Referral r
现在一切都好了