1

Я работаю с aws redshift и имею случай, когда у меня есть несколько строк для уникального идентификатора, и вам нужно использовать SQL для объединения строк в один столбец на уникальный идентификатор. Я искал, как это сделать, и похоже, что это возможно в postgres, однако предлагаемые методы используют такие функции, как: string_agg и array_agg, которые недоступны в aws redshift. Возможно ли это с помощью красного смещения? Кто-нибудь знает способы атаковать эту проблему без использования функций?Повернуть несколько строк в столбцы в Redshift

Вот что я работаю. Приведенная ниже таблица представляет запрос, который дает мне строки, мне нужно, чтобы сформировать в один столбец на ID:

+----+----------+---------+-------+ 
| ID | make  | model | type | 
+----+----------+---------+-------+ 
| 1 | ford  | mustang | coupe | 
| 1 | toyota | celica | coupe | 
| 2 | delorean | btf  | coupe | 
| 2 | mini  | cooper | coupe | 
| 3 | ford  | mustang | coupe | 
| 3 |   |   |  | 
+----+----------+---------+-------+ 

Я надеюсь закончить с:

+----+----------+---------+-------+----------+---------+-------+ 
| ID | make  | model | type | make  | model | type | 
+----+----------+---------+-------+----------+---------+-------+ 
| 1 | ford  | mustang | coupe | toyota | celica | coupe | 
| 2 | delorean | bttf | coupe | mini  | cooper | coupe | 
| 3 | ford  | mustang | coupe |   |  |  | 
+----+----------+---------+-------+----------+--------+--------+ 

ответ

1

Если выборка данных свидетельствует ваши данные, и вы будете иметь максимум две записи на каждый идентификатор, то вы могли бы просто присоединиться на себя, чтобы получить вывод, который вы запросили:

select id, a.make, a.model, a.type, b.make, b.model, b.type 
from yourtable a 
    left outer join yourtable b 
    on b.id = a.id 
    and b.make != a.make 
    and b.model != a.model 
    and b.type != a.type 

Если у вас есть больше, чем два, вы могли бы закрутить простой консольный ар p в чем-то вроде C#, читать данные и записывать в новую таблицу.

+0

спасибо !! Это действительно помогло – user1026498

Смежные вопросы