PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak połączyć na zewnątrz dwie tabele (główną i podrzędną wiele do jednego), aby uzyskać tylko JEDEN element z drugiej tabeli?

Jeśli używasz SQL Server, możesz użyć klauzuli TOP. Jeśli jest to coś innego niż SQL Server, będziesz musiał sprawdzić, czy ta baza danych oferuje coś równoważnego (wiele z nich to robi). Coś takiego ...

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;

Uwaga:ma to na celu pokazanie ogólnej idei. Nie miałem okazji go uruchomić, więc może być kilka niezbędnych zmian, ale koncepcja jest.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podwójny cudzysłów w nazwie tabeli w zapytaniu wybierającym PostgreSQL

  2. Kolba before_request i teardown_request dla połączeń z bazą danych

  3. Wykonaj MERGE na PostgreSQL 9.5

  4. Dynamiczne partycjonowanie tabel w postgresie

  5. Mam problemy z połączeniem HAVING z WHERE na bardzo prostym QUERY