PostgreSQL объединяет 2 строки в 1 строку - PullRequest
0 голосов
/ 20 января 2012

Если есть дубликат, укажите мне на него. Я не знаю, какие ключевые слова использовать для поиска этой ситуации.
У меня есть эта таблица:

name    | read  | sum1  | sum2 
--------+-------+-------+-----
A       | 1     | 2.0   | 1.3
A       | 2     | 0.4   | 4  
B       | 1     | 0.2   | 0.1
B       | 2     | 1.0   | 3.3

То, что я хочу, это:

name    | r1_sum1 | r1_sum2  | r2_sum1 | r2_sum2 
--------+---------+----------+---------+--------
A       | 2.0     | 1.3      | 0.4     | 4
B       | 0.2     | 0.1      | 1.0     | 3.3

То есть строки сгруппированы по столбцам read и name. Как мне сделать это в PSQL?

1 Ответ

1 голос
/ 20 января 2012

Вы можете присоединить таблицу к себе:

SELECT t1.name AS name,
       t1.sum1 AS r1_sum1,
       t1.sum2 AS r1_sum2,
       t2.sum1 AS r2_sum1,
       t2.sum2 AS r2_sum2
  FROM insert_table_name_here AS t1
  FULL
 OUTER
  JOIN insert_table_name_here AS t2
    ON t1.name = t2.name
   AND t1.read = 1
   AND t2.read = 2
;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...