2013-08-20 2 views
0

У меня есть следующий набор результатов:Concat результат SQL строк на полях scertain

ID | mark | cost | comment 
1  yel  45  array 
3  yel  45  tack 

Теперь я хочу, чтобы иметь только один ряд, как:

ID | mark | cost | comment 
1  yel  45  array tack 

если марка и стоимость одинаковы.

Любые идеи о том, как это сделать?

+1

Пожалуйста, посмотрите на это: http://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string – hogni89

+1

возможно дубликат [Создать delimitted строку из запроса в DB2] (http://stackoverflow.com/questions/3728010/create-a-delimited-string-from-a-query-in-db2) – GarethD

+0

Начиная с версии 9.7.4 DB2 поддерживает 'LISTAGG()' string aggregate функция. Вы можете [посмотреть] (http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.sql.ref.doc%2Fdoc%2Fr0058709.html) на него. –

ответ

1
select min(id), 
     mark, 
     cost, 
     substr(xmlserialize(xmlagg(xmltext(concat(' ', comment))) as varchar(1024)), 3) 
    from t1 
group by mark, 
      cost; 
Смежные вопросы