Frage zu left join

Board zum Thema mySQL
Antworten
roli
Beiträge: 212
Registriert: 4. Januar 2003, 00:12

Frage zu left join

Beitrag von roli » 15. Juni 2007, 22:17

Hallo
Ich habe eine Frage zu ORACLE SQL.
Aus der table CP_OBJECT_PERMISSIONS möchte ich nur Daten laden, die dem OBJECT_TYPE 'reports' entsprechen.
Doch wo setze ich nun das where statement?

Danke und gruss

Code: Alles auswählen

select R.Name as ^Report;sortable^, OP.GROUPCODE as ^Group;sortable^ from cp_reports R 
LEFT JOIN CP_OBJECT_PERMISSIONS OP
ON R.REPORT_ID = OP.OBJECT_ID ORDER BY OP.GROUPCODE 

Benutzeravatar
Powie
Administrator
Beiträge: 7454
Registriert: 4. März 2003, 09:32
Wohnort: Ilmtal
Kontaktdaten:

Frage zu left join

Beitrag von Powie » 16. Juni 2007, 09:41

es gibt 2 Möglichkeiten:

Code: Alles auswählen

select R.Name as ^Report;sortable^, OP.GROUPCODE as ^Group;sortable^ 
from cp_reports R 
LEFT JOIN CP_OBJECT_PERMISSIONS OP ON R.REPORT_ID = OP.OBJECT_ID 
Where op.OBJECT_TYPE = 'reports'
ORDER BY OP.GROUPCODE
oder auch:

Code: Alles auswählen

select R.Name as ^Report;sortable^, OP.GROUPCODE as ^Group;sortable^ 
from cp_reports R 
LEFT JOIN CP_OBJECT_PERMISSIONS OP ON R.REPORT_ID = OP.OBJECT_ID and op.OBJECT_TYPE = 'reports'
ORDER BY OP.GROUPCODE
bei nur einer where bedingung ist die erste sicher die schnellere, kommen aber mehrere joins und where Bedingungen hinzu kann auch teilweise die 2. Variante schneller in der Ausführung werden.
*Never say Never* - [ Dropbox | Webspace ]

Antworten