sql >> Databáze >  >> RDS >> PostgreSQL

Jak vnější-připojit dva stoly (hlavní a podtabulku many-to-one), abyste získali pouze JEDNU položku z druhého stolu?

Pokud používáte SQL Server, můžete použít klauzuli TOP. Pokud je to něco jiného než SQL Server, budete se muset podívat, zda tato databáze nabízí něco ekvivalentního (mnoho z nich ano). Něco takového ...

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;

Poznámka:To je ukázat vám obecnou představu. Neměl jsem možnost jej spustit, takže možná bude potřeba provést několik změn, ale koncept existuje.



  1. Návrh databáze - konvence pojmenování primárních klíčů

  2. Pomocí LOAD DATA LOCAL INFILE v Javě

  3. Může InnoDB použít soubor ignorovaných slov?

  4. Jak mohu automaticky vytvořit e-mailovou adresu pro členy mých webových stránek?