Zitat Zitat von bettina_martin Beitrag anzeigen
...
Wie kann ich die Unterabfragen auf ADR2 und ADR6 so gestalten das nur EINE Zeile ausgegeben wird, nämlich die ERSTE die den Selektionskriterien entspricht ??
Was meinst Du denn mit "ERSTE Zeile"? Gibt es ein eindeutiges Sortierkriterium?

Folgender Ansatz ist schon fast gut:
select ..., (select min(xxx) from ...) as xxx, ...
allerdings möchtest Du ja die Felder aus 1 Satz und nicht das jeweilige MIN.

Ich nehme einfach mal an, die eMail-Adresse wäre eindeutig. Ansonsten nimm halt die TelNr oder ein anderes Kriterium. (Ob die RRN() funktionieren würde bin ich allerdings nicht sicher.)

Wie wäre es also mit:
Code:
...
SELECT A.kunnr, A.NAME1, 
(SELECT tel_number FROM r3p02data/adr2 
WHERE addrnumber=A.adrnr and consnumber='001' and 
smtp_addr = (select min(smtp_addr FROM r3p02data/adr6 
             WHERE addrnumber=A.adrnr and consnumber='001') 
) AS TEL1, 
...
(SELECT min(smtp_addr) FROM r3p02data/adr6 
WHERE addrnumber=A.adrnr and consnumber='001' ) AS EMAIL1, 
...

Passt das so?

Und wegen der Performance probiers einfach aus, es hängt ja von vielen Faktoren ab.

Gruß, Christian