Hy,
hoffe ihr könnt einem mySQL Newbie helfen:
Ich will einen Veranstaltungskalender 3 sprachig basteln.
Habe eine Haupttabelle (topic), in welcher das Datum & sprachunabhänige Felder gespeichert werden
und 3 tabellen für deutsche, englische und spanische Beschreibung der Veranstaltung.
Es soll nicht für jede Veranstaltung Einträge in allen 3 Sprachen geben.
Klappt soweit, aber wenn ich eine Übersicht für die Veranstaltungen abfragen will komme ich nicht weiter:
liefert mir jeden einen Eintrag für topic mehrfach, wenn 2
und mehr Sprachen für eine Veranstaltung eingetragen sind (ist ja auch logisch)
Was für eine Tabellen verknüpfung muß ich anwenden, um ein Ergebnis in folgender Form zu bekommen:
hab's schon mit inner / outer / left join versucht, komme aber nicht weiter...
Würde mir schon reichen, wenn mir einer sagen könnte, wo im mySQL Handbuch ich noch mal nachlesen muß.....
hoffe ihr könnt einem mySQL Newbie helfen:
Ich will einen Veranstaltungskalender 3 sprachig basteln.
Habe eine Haupttabelle (topic), in welcher das Datum & sprachunabhänige Felder gespeichert werden
und 3 tabellen für deutsche, englische und spanische Beschreibung der Veranstaltung.
Es soll nicht für jede Veranstaltung Einträge in allen 3 Sprachen geben.
Klappt soweit, aber wenn ich eine Übersicht für die Veranstaltungen abfragen will komme ich nicht weiter:
PHP-Code:
$sql = "SELECT ";
$sql .= "topic.id, topic.datum, topic.online, ";//Haupttabelle
$sql .= "de.id as id_de, de.topicId as topicId_de, ";//deutsch
$sql .= "de.title as title_de, ";
$sql .= "de.beschreibung as beschreibung_de, ";
$sql .= "en.id as id_en, en.topicId as topicId_en, ";//englisch
$sql .= "en.title as title_en , ";
$sql .= "en.beschreibung as beschreibung_en, ";
$sql .= "span.id as id_span, span.topicId as topicId_span, ";//spanisch
$sql .= "span.title as title_span , ";
$sql .= "span.beschreibung as beschreibung_span ";
$sql .= "FROM topic, de, en, span ";
$sql .= "WHERE ";
$sql .= "topic.id = de.topicId ";
$sql .= "or ";
$sql .= "topic.id = en.topicId ";
$sql .= "or ";
$sql .= "topic.id = span.topicId ";
und mehr Sprachen für eine Veranstaltung eingetragen sind (ist ja auch logisch)
Was für eine Tabellen verknüpfung muß ich anwenden, um ein Ergebnis in folgender Form zu bekommen:
PHP-Code:
id
datum
online
id_de
title_de
beschreibung_de
id_en
title_en
beschreibung_en
id_span
title_span
beschreibung_span
Würde mir schon reichen, wenn mir einer sagen könnte, wo im mySQL Handbuch ich noch mal nachlesen muß.....
Kommentar