Ich habe eine Tabelle und möchte eine andere Tabelle external-Join, nur die erste Zeile (die mit der niedrigsten Nr) der zweiten Tabelle mit Oracle 10g.Nur eine Zeile in Outer-Join mit Orakel erhalten
Edit: nr ist einzigartig innerhalb einer ID
Table x Table y
id id nr code
1 1 1 B
2 1 2 A
3 2 2 A
Expected result:
id nr code
1 1 B
2 2 A
3 NULL NULL
Beispiel mit Testdaten (die Beschränkung auf einzelne Zeilen nicht tun soll aber schnelle Tests erlauben):
WITH
x AS(SELECT 1 id FROM dual UNION SELECT 2 FROM dual UNION SELECT 3 FROM dual),
y AS(SELECT 1 id, 1 nr, 'B' code FROM dual
UNION SELECT 1, 2, 'A' FROM dual
UNION SELECT 2, 2, 'A' FROM dual
) -- end of test data
SELECT x.id, y.nr, y.code
FROM x
LEFT OUTER JOIN y ON (y.id = x.id)
Die DESC in PARTITION BY sollte entfernt werden, um die erste Zeile zu bekommen, oder? –
Aus irgendeinem Grund dachte ich, Sie brauchen eine höchste Y.NR :) Sicher, entfernen Sie die DESC, wenn Sie die niedrigste – Quassnoi
brauchen, was ich brauchte, danke. –