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