Ich habe eine Tabelle A und eine Tabelle B.
B enthält einen Fremdschlüssel auf die Tabelle A.
Zwischen A und B existiert also eine 1:M Beziehung, mehrere Einträge aus B zeigen auf den gleichen Record in A.
Frage: Ich möchte ein select statemenet bauen wo ich jeden Record aus A berücksichtige, aber ich brauch nicht jeden Record aus B, ich brauch genau einen Record aus B, egal welcher.
Beispiel :
Tabelle A
ID, Name
Tabelle B
ID, Zahl, A_ID(Fremdschlüssel auf ID von Tabelle A)
Es gibt 10 Records aus Tabelle B die auf A zeigen. Ich benötige aber nur einen Record aus B, irgend einen, egal welcher.
with data as (
select a.id, a.name, b.id as b_id, b.zahl
, row_number() over (partition by a.id order by a.id) as row_number
from a
join b
on b.a_id = a.id
)
select d.*
from data d
where d.row_number = 1
;