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
现在一切都好了