PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как мога да слея колоните от две таблици в един изход?

Посочването на колоните във вашата заявка трябва да свърши работа:

select a.col1, b.col2, a.col3, b.col4, a.category_id 
from items_a a, items_b b 
where a.category_id = b.category_id

трябва да свърши работа по отношение на избора на колоните, които искате.

За да заобиколите факта, че някои данни са само в items_a, а някои данни са само в items_b, бихте могли да направите:

select 
  coalesce(a.col1, b.col1) as col1, 
  coalesce(a.col2, b.col2) as col2,
  coalesce(a.col3, b.col3) as col3,
  a.category_id
from items_a a, items_b b
where a.category_id = b.category_id

Функцията coalesce ще върне първата стойност, различна от нула, така че за всеки ред, ако col1 не е null, тя ще използва това, в противен случай ще получи стойността от col2 и т.н.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Настройка и поддръжка на PostgreSQL репликация с помощта на Ansible

  2. Oracle към PostgreSQL:ЗАПОЧНЕТЕ С/СВЪРЖЕТЕ ОТ

  3. Обединете една колона в заявка с много колони

  4. Търсене на пълен текст в Postgres или CouchDB?

  5. Django + Postgres + Големи времеви серии