Forums Neueste Beiträge
 

Mehrfachverknüpfungen

11/08/2008 - 19:30 von Jörg Burzeja | Report spam
Hallo zusammen,

diese Abfrage liefert mir das Resultat in der Form:

SELECT
d2.text, ...
FROM ...
left join dimension d2 on
(d2.oid_param = p2.oid
AND d2.id = sd.id_dimension)

Output:
Montag Meier
Gyros Meier

Nun soll es aber so aussehen:

Montag Gyros Meier

Deshalb habe ich zusàtzlich die Tabellen d3 und d4 gejoint; das Ergebnis
ist aber nicht das was es sein soll :-(

SELECT

d3.text, d4.text, ...

FROM ...

left join dimension d2 ON
(d2.oid_param = p2.oid
AND d2.id = sd.id_dimension)

left join dimension d3 ON d3.oid (SELECT d2.oid
FROM dimension d2
WHERE d3.oid_param = p2.oid
AND d2.id = sd.id_dimension
AND d2.oid = d3.oid
AND d3.lfddimart = 1)

left join dimension d4 ON d4.oid (SELECT d2.oid
FROM dimension d2
WHERE d4.oid_param = p2.oid
AND d2.id = sd.id_dimension
AND d2.oid = d4.oid
AND d4.lfddimart = 2)

Output
NULL NULL
NULL Montag
Gyros NULL

Irgendwas passt da nicht. Eine Zwischentabelle mit eindeutiger Nummer
gibt es leider nicht (oder ich finde die nicht).

Komme ich trotzdem an das gewünschte Resultat - trotz der sehr
verkürzten Darstellung der Abfrage).

Vielen Dank.

Viele Grüsse

Jörg
 

Lesen sie die antworten

#1 Michael Monarch
12/08/2008 - 10:39 | Warnen spam
Servus Jörg,

Vorab, schau mal unter dem Stichwort Pivot nach...

Also, das folgende macht es wirklich schwer etwas nach zu vollziehen...
Hier sind doch 3 Tabellen im Spiel.
Die Werte Montag und Gyros kommen aus der Tabelle/Feld d2.text (wo ist die
Kausalitàt zwischen Gyros und Montag, wenn es im gleichen Feld steht) , aber
woher kommt den Meier ????

SELECT
d2.text, ...
FROM ...
left join dimension d2 on
(d2.oid_param = p2.oid
AND d2.id = sd.id_dimension)

Output:
Montag Meier
Gyros Meier




mfg michael

Ähnliche fragen