echo $begrüßung;
hab mir das gerade mal durchgelsen also folgendes: http://dev.mysql.com/doc/mysql/en/join.html aber um ganz ehrlich zu sein ich blick da gar nichts. Kann mir da jemand ein wenig helfen dass ich das hin bekomme was ich oben schon beschrieben habe?
So ein JOIN funktioniert so:
Felder in t1: id, id_t2, a, b
Felder in t2: id, x, y
Beispieldaten:
t1:
id id_t2 a b
1 3 a1 b1
2 0 a2 b2
t2:
id x y
3 x3 y3
4 x4 y4
Für alle Datensätze von t1 wollen wir die über das Feld ID_t2 referenzierten Datensätze aus t2 haben:
SELECT t1.id, a, b, x, y FROM t1, t2 WHERE t1.id_t2 = t2.id AND weitere Bedingungen
Das ergibt alle Datensätze, für die die WHERE-Bedingung gilt. Alternativ kann man das auch so schreiben:
SELECT t1.id, a, b, x, y FROM t1 INNER JOIN t2 ON t1.id_t2 = t2.id WHERE ...
(Das INNER kann man auch weglassen.) Mit dieser Schreibweise sieht man eher, welches die Verknüpfungsbedingung und welches die die Ergebnismenge einschränkenden Bedingungen sind.
Ergebnisdaten:
id a b x y
1 a1 b1 x3 y3
Beides sind so genannte INNER JOINs. Es werden nur die Datensätze berücksichtigt, für die es in beiden Tabellen entsprechende Daten gibt. Wenn es einen Datensatz von t1 mit ID_t2 = 0 gibt und kein Datensatz in t2 ein ID = 0 hat, dann gehört der t1-Datensatz nicht zur Ergebnismenge.
Für solche Fälle gibt es die OUTER JOINs. Der meist verwendete ist der LEFT OUTER JOIN:
SELECT t1.id, a, b, x, y FROM t1 LEFT OUTER JOIN t2 ON t1.id_t2 = t2.id WHERE ...
(Das OUTER kann man auch weglassen.) Hier werden alle Datensätze der linken Tabelle (t1) berücksichtigt. Wenn es keinen entsprechenden Datensatz in t2 gibt werden für die t2-Felder NULL ausgegeben.
Ergebnisdaten:
id a b x y
1 a1 b1 x3 y3
2 a2 b2 NULL NULL
Mit diesem Wissen, so hoffe ich, kannst du jetzt deine Tabellen entsprechend verknüpfen.
echo "$verabschiedung $name";