MySQL Forums
Forum List  »  German

Select über vier Tabellen
Posted by: Jörg Büchner
Date: October 12, 2009 06:41PM

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?

Options: ReplyQuote


Subject
Views
Written By
Posted
Select über vier Tabellen
3059
October 12, 2009 06:41PM
2060
October 13, 2009 02:13PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.