PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie verbinde ich zwei Tabellen (Haupt- und viele-zu-eins-Untertabelle) mit einem Outer-Join, um nur EIN Element aus der zweiten Tabelle zu erhalten?

Wenn Sie SQL Server verwenden, können Sie die TOP-Klausel verwenden. Wenn es sich um etwas anderes als SQL Server handelt, müssen Sie sehen, ob diese Datenbank etwas Äquivalentes bietet (viele tun es). Etwas in der Art ...

Select * from Main m
left outer join 
(select top 1 * from subtable s
  where s.main_table_id = m.id) q
on q.main_table_id = m.id;

Hinweis:Das soll Ihnen die allgemeine Idee zeigen. Ich hatte keine Gelegenheit, es auszuführen, daher sind möglicherweise ein paar Änderungen erforderlich, aber das Konzept ist da.