Hallo zusammen,
vorab erstmal zu meinem Vorhaben:
ich habe in meiner Datenbank mehrere Tabellen die vom Aufbau her identisch sind. Beispielsweise stark vereinfacht:
VorgaengeA: id, id_un, id_ap, name
VorgaengeB: id, id_un, id_ap, name
usw..
Dazu habe ich je eine Tabelle in der Unternehmen (un) und alle Ansprechpartner (ap) gespeichert sind.
Nun soll in einer Abfrage nach allen Vorgängen (egal ob aus A, B, ...) gefragt werden, die zu einer Unternehmens-ID gehören. Das bekomme ich hin. Quasi mit:
Mir werden damit auch die in den Vorgängen hinterlegten IDs der Ansprechpartner (id_ap) ausgegeben.
Nun würde ich gerne einen JOIN machen um in meiner Ausgabe den Namen des Ansprechpartners anzeigen zu können und nicht nur seine ID.
Eine Lösung ohne der UNION von oben habe ich bereits so realisieren können:
Auch das läuft soweit!
Jetzt habe ich verzweifelt versucht eine Kombination beider zu realisieren und habe das LEFT JOIN mal den SELECTS in den Klammern und mal nach datapool eingefügt. Hat aber alles nicht funktioniert.
Weiß einer wie die korrekte Schreibweise wäre?
Grüße
kuchen
vorab erstmal zu meinem Vorhaben:
ich habe in meiner Datenbank mehrere Tabellen die vom Aufbau her identisch sind. Beispielsweise stark vereinfacht:
VorgaengeA: id, id_un, id_ap, name
VorgaengeB: id, id_un, id_ap, name
usw..
Dazu habe ich je eine Tabelle in der Unternehmen (un) und alle Ansprechpartner (ap) gespeichert sind.
Nun soll in einer Abfrage nach allen Vorgängen (egal ob aus A, B, ...) gefragt werden, die zu einer Unternehmens-ID gehören. Das bekomme ich hin. Quasi mit:
PHP-Code:
SELECT datapool.id_un, datapool.id_ap, datapool.name
FROM (SELECT id_un, id_ap, name FROM `vorgaenge_a`
UNION
SELECT id_un, id_ap, name FROM `vorgaenge_b`) datapool
WHERE id_un = $id_un
Nun würde ich gerne einen JOIN machen um in meiner Ausgabe den Namen des Ansprechpartners anzeigen zu können und nicht nur seine ID.
Eine Lösung ohne der UNION von oben habe ich bereits so realisieren können:
PHP-Code:
SELECT a.id AS a_id, a.name AS a_name, ap.name AS ap_name
FROM `vorgaenge_a` a
LEFT JOIN ansprechpartner ap
ON id_ap=ap.id
WHERE a.id_un = $id_un";
Jetzt habe ich verzweifelt versucht eine Kombination beider zu realisieren und habe das LEFT JOIN mal den SELECTS in den Klammern und mal nach datapool eingefügt. Hat aber alles nicht funktioniert.
Weiß einer wie die korrekte Schreibweise wäre?
Grüße
kuchen
Kommentar