|
Regular
Beiträge: 67
| Hallo,
und jetzt komme ich noch vor Weihnachten
habe 4 Tabellen:
tblOrder(Z), tblPosition(X), tblPosMat(M), tblPosGer(G)
zu einer Order(Z) gibt es n Positionen (OrderNr)
zu einer Position(X) gibt es 0 - n Einträge in (M) (PosID) aber auch
zu einer Position(X) gibt es 0 - n Einträge in (G) (PosID)
Ich habe versucht, das Ganze mit Hilfe von Joins zu verwirklichen, was mir nach mehreren verzweifelten Versuchen leider nicht gelang. Ich versuchte daraufhin 2 Abfragen mit UNION zu verbinden (s. nachstehenden Code). Dies bringt dann zwar das richtige Ergebnis; ich würde aber gerne die Verbindung mit UNION vermeiden. Gibt es hierfür eine Möglichkeit?
Ich möchte also für jede Verknüpfung, welche es von den Positionen(X) zu (M) oder (G) gibt, einen Datensatz erstellen. Dabei sollte dann noch der Ordnungsbegriff in den Positionen (OrderNr) mit einem vorgegebenen Wert dem des Primärschlüssels in der Tabelle (Z) entsprechen.
CODE:
SELECT Z.Ordernr, X.Posnr, M.posid, M.Menge AS felda, M.matid AS feldb
FROM (tblPosition AS X INNER JOIN tblPosMat AS M ON X.posid = M.posid)
INNER JOIN
tblOrder AS Z
ON X.OrderNr = Z.Ordernr
WHERE z.OrderNr = 698
UNION
SELECT Z.Ordernr, X.Posnr, g.posid, g.Dauer as felda, g.gerid as feldb
FROM (tblPosition AS X INNER JOIN tblPosGer AS G ON X.posid = g.posid)
INNER JOIN
tblOrder AS Z
ON X.OrderNr = Z.Ordernr
WHERE Z.OrderNr = 698
Ich freue mich auf eine Antwort von Euch.
Liebe Grüße
waholin | |
|