Select über vier Tabellen
Hallo,
aus folgenden Tabellen
CREATE TABLE ek (nr INT, produkt CHAR(30));
CREATE TABLE lagerOrder (ekNr INT, orderM INT, lgrHalterNr INT);
CREATE TABLE lager (ekNr INT, lagerM INT, lgrHalterNr INT);
CREATE TABLE lagerhalter (nr INT, name CHAR(30));
INSERT INTO ek VALUES (100, 'Das Produkt');
INSERT INTO ek VALUES (101, 'Noch ein Produkt');
INSERT INTO lagerOrder VALUES (100, 50, 1);
INSERT INTO lagerOrder VALUES (101, 60, 2);
INSERT INTO lager VALUES (100, 30, 1);
INSERT INTO lagerHalter VALUES (1, 'Der Lagerhalter');
INSERT INTO lagerHalter VALUES (2, 'Lagerhalter 2');
bekomme ich, wenn ich die beiden folgenden Abfragen summiere, die gewünschte Ergebnismenge.
SELECT lo.ekNr, orderM, produkt, name
FROM lagerOrder lo, lagerhalter lh, ek e
WHERE lo.lgrHalterNr=lh.nr AND lo.ekNr=e.nr
SELECT l.ekNr, lagerM, produkt, name
FROM lager l, lagerhalter lh, ek e
WHERE l.lgrHalterNr=lh.nr AND l.ekNr=e.nr;
Die Abfragen unterscheiden sich in nur einer Spalte: OrderMenge und LagerMenge.
Und diese beiden Spalten hätte ich gerne getrennt aufgelistet.
Bei obigen Daten sollte das Ergebnis also etwa folgermaßen aussehen:
+------+--------+--------+------------------+-----------------+
| ekNr | orderM | lagerM | produkt | name |
+------+--------+--------+------------------+-----------------+
| 100 | 50 | 30 | Das Produkt | Der Lagerhalter |
| 101 | 60 | | Noch ein Produkt | Lagerhalter 2 |
Durch diese "zusätzliche" Spalte kann ich also nicht mit UNION arbeiten.
Sieht jemand dennoch eine Möglichkeit?
P.S.:
Und gibt's irgendwelche Formatierungsbefehle hier im Forum, dass in der Tabelle oben z.B. aufeinanderfolgende Leerzeichen nicht verschluckt werden?