PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come unire due tabelle (principale e molti-a-uno sottotabella) per ottenere un solo elemento dalla seconda tabella?

Se stai usando SQL Server, puoi usare la clausola TOP. Se è qualcosa di diverso da SQL Server, dovrai vedere se quel database offre qualcosa di equivalente (molti di loro lo fanno). Qualcosa del genere...

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;

Nota:serve per mostrarti l'idea generale. Non ho avuto la possibilità di eseguirlo, quindi potrebbero essere necessarie un paio di modifiche, ma il concetto c'è.