powie.de Tech Forum

PHP und Webdesign => mySQL => Thema gestartet von: roli am 15. Juni 2007, 21:17:09

Titel: Frage zu left join
Beitrag von: roli am 15. Juni 2007, 21:17:09
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

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
Titel: Frage zu left join
Beitrag von: Powie am 16. Juni 2007, 08:41:59
es gibt 2 Möglichkeiten:
 

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:

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.