Hallo
Ich habe ein Vielzahl von Tabellen. Anbei ein kleiner Ausschnitt.
Ich möchte nun die ersten Views erstellen und suche den passenden SELECT Befehl.

Zur Info:
Object_list: Enthält die Liste der Objekte. Kann Mehrsprachig sein. Die Tabelle "locale_short" hat "de" und "en" als Bsp für Deutsch und Englisch.
Ein Objekt kann mehrer bevorzugte Räume haben, die wiederum als Bezeichnung in "room_type_list" die locale für jeden Namen haben.
Wenn ich die Tabelle Testweise fülle, bekomme ich oben die passende Ausgabe.
zu JOIN meine Verständnis Fragen:
a) LEFT JOINS geben immer nur die Daten zurück, die auch in der Parent vorhanden sind
b) RIGHT JOINS geben immer ALLE Daten der Child Tabelle zurück und die passenden Parent Einträge
c) Wenn ich 30 dieser Mehrsprachigen Tabellen hätte, kann ich alle 30ig in die
einsetzen.
Damit erhalte gleich sprachigen Bezeichnungen.
Kann ich aber auch die Sprache mit einem Befehl auf "de" setzen?
Also sobald eine Tabelle "loc_Id_FK" hat, soll diese auf "WHERE loc_Id_FK Like "de"" hören.
Ist die JOIN Abfrage noch zu optimieren? Man kann Joins ja auch staffeln, aber das ich noch zu komplex für mich und weiß auch nicht ob es nötig ist.
Danke!
Fohnbit
Ich habe ein Vielzahl von Tabellen. Anbei ein kleiner Ausschnitt.
Ich möchte nun die ersten Views erstellen und suche den passenden SELECT Befehl.
PHP:
Select objli.objli_name, loc.loc_Language, rtl.rmtli_Name
from object_list objli
left JOIN object_preferred_room_type oprt
ON objli.obj_Id_FK = oprt.obj_Id_FK
left JOIN room_type_list rtl
ON oprt.rmt_Id_FK = rtl.rmt_Id_FK
left JOIN locale_short loc ON objli.loc_Id_FK = loc.loc_Id
AND rtl.loc_Id_FK = loc.loc_Id
Where loc.loc_Id like "de"

Zur Info:
Object_list: Enthält die Liste der Objekte. Kann Mehrsprachig sein. Die Tabelle "locale_short" hat "de" und "en" als Bsp für Deutsch und Englisch.
Ein Objekt kann mehrer bevorzugte Räume haben, die wiederum als Bezeichnung in "room_type_list" die locale für jeden Namen haben.
Wenn ich die Tabelle Testweise fülle, bekomme ich oben die passende Ausgabe.
zu JOIN meine Verständnis Fragen:
a) LEFT JOINS geben immer nur die Daten zurück, die auch in der Parent vorhanden sind
b) RIGHT JOINS geben immer ALLE Daten der Child Tabelle zurück und die passenden Parent Einträge
c) Wenn ich 30 dieser Mehrsprachigen Tabellen hätte, kann ich alle 30ig in die
PHP:
left JOIN locale_short loc ON
Damit erhalte gleich sprachigen Bezeichnungen.
Kann ich aber auch die Sprache mit einem Befehl auf "de" setzen?
Also sobald eine Tabelle "loc_Id_FK" hat, soll diese auf "WHERE loc_Id_FK Like "de"" hören.
Ist die JOIN Abfrage noch zu optimieren? Man kann Joins ja auch staffeln, aber das ich noch zu komplex für mich und weiß auch nicht ob es nötig ist.
Danke!
Fohnbit