CONCAT Столбец SQL

Мне нужна ваша помощь, чтобы решить следующую проблему

     column1    Column2 
          1       a
          1       b
          2       c
          3       d
          4       e

Я хочу связаться с элементами col2 для того же значения col1 и вернуть результат в виде переменной в одном столбце.

Результат: |1|а,б|

Спасибо за вашу помощь.


person Rida    schedule 16.07.2018    source источник
comment
Что ты дбмс?   -  person D-Shih    schedule 16.07.2018
comment
Какие rdbms вы используете?   -  person Mureinik    schedule 16.07.2018
comment
я использую SQL для Oracle   -  person Rida    schedule 16.07.2018


Ответы (2)


использовать функцию concat

 select concat(case when t.column1 is not null then t.column1 else end,
 case when t.column2 is not null then t.column2 else end) as col1 from   your_table as t
inner join
(
select column1 from your_table
group by column1
having count(*)>1
) as T1
t.column1=T1.column1
person Zaynul Abadin Tuhin    schedule 16.07.2018
comment
Это то же самое для SQL Oracle, потому что это тот, который я использую? - person Rida; 16.07.2018

Заполните имя и столбец 1, столбец 2 в соответствии с вашими потребностями.

      SELECT  distinct     CAT.column1 AS [column1],
               STUFF((    SELECT ',' + SUB.column2 AS [text()]

                     FROM tbename SUB
                     WHERE
                     SUB.column1 = CAT.column1
                     FOR XML PATH('')
                       ), 1, 1, '' )

        AS [column2]
  FROM  tbename  CAT

для оракула ниже кода 11g+

select column1, listagg(column2,',') within group( order by column1 ) 
  from tbename group by gr
person sandeep rawat    schedule 16.07.2018
comment
Это то же самое для SQL Oracle, потому что это тот, который я использую? - person Rida; 16.07.2018
comment
этот код для SQL-сервера, добавьте код оракула, он будет работать для 11g + - person sandeep rawat; 16.07.2018