Kalle_B: Sytaxfehler bei JOIN

Beitrag lesen

Hallo, Ilja,

ich brauche so eine Aufstellung:

ADAC:
Slot Aussteller Besucher
---- ---------- --------
01   Schneider  NULL
01   Müller     Heitmann
02   Müller     NULL
03   Schneider  Kerst
03   Müller     Lachmann
...

Bedeutung: Der Aussteller ADAC hat zwei Mitarbeiter vor Ort, Schneider und Müller. Die Slot-Nummern zeigen die Anwesenheit an, die NULL- Einträge bei den Besuchern freie Termine, die gebucht werden können.

Die Aufstellung bekomme ich mit einem Eingangswert: adress_id von Müller (oder Schneider, ist gleichwertig). Zuerst muss ich die Firma von Müller feststellen (per1). Aha, ADAC. Dann die Mitarbeiter vom ADAC (per2). Für jeden Mitarbeiter die Anwesenheit (anw1).

Die Termine liegen in der Tabelle Kontakte (kon1). Die Kombination Ausstellerperson / Slot ist ein Termin, ein fehlender Eintrag freie Kapazität.

$q = "
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

AUSSTELLER-MITARBEITER ZU ".$chef_id.", UND DEREN TERMINE

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SELECT
 per1.kurzname
,anw1.slot_nr
,per2.id
,per2.nname
,kon1.besucher_id
FROM
 ".$db[0]['personen']." as per1
,".$db[0]['personen']." as per2
,".$db[0]['anwesenheit']." as anw1

Fehler

JOIN   ".$db[0]['kontakte']." as kon1
ON     kon1.aussteller2_id=per2.id AND kon1.slot_nr=anw1.slot_nr

WHERE  per1.id=".$chef_id."
AND    per2.owner_id=per1.owner_id AND per2.adr_kz=per1.adr_kz AND per2.kurzname=per1.kurzname
AND    anw1.adr_id=per2.id
ORDER BY anw1.slot_nr, per2.id
";

Die Fehlermeldung besagt, dass in der ON- clause per2.id nicht bekannt ist. Wie löse ich das Problem?

MIt einem Test habe ich mir vorhin noch die Tabelle kontakte zerschossen, sie antwortet nicht mehr.

LG Kalle