У меня есть эти данные в одной таблице:Почему несколько строк не конкатенируются?
ID ANIMAL
555000 Dog
555000 Cow
555000 Fox
657000 Fox
817900 Dog
817900 Fox
829800 Fox
830300 Fox
830600 Fox
830800 Fox
831100 Dog
831100 Fox
839900 Fox
Мне нужно создать вывод, что группы по идентификатору, а затем создают строки с разделителями животных в идентификаторах. Учитывая данные выше, мне нужен следующий вывод. Обратите внимание, что каждый идентификатор должен быть отдельной строкой в наборе результатов, и животные должны быть объединены в одну строку для каждого идентификатора. Я не хочу создавать одну большую конкатенированную строку.
555000 Dog<br/>Cow<br/>Fox
657000 Fox
817900 Dog<br/>Fox
829800 Fox
830300 Fox
830600 Fox
830800 Fox
831100 Dog<br/>Fox
839900 Fox
Вот SQL, который у меня есть до сих пор. Он создает строку для каждой комбинации ID, ANIMAL. Проблема заключается в том, что значения в поле ANIMAL не объединены. Что я делаю не так?
select ID,
REPLACE (wm_concat (DISTINCT ANIMAL),',','<br/>')
from TheTable
group by ID, ANIMAL
Ваша «группа по ID, ЖИВОТНЫЕ» гарантирует, что в строке есть только одно отдельное животное. Удалите столбец 'ANIMAL' из' group by', и он будет работать. –
@ WumpusQ.Wumbley - Да, вот и все. Я нашел свою ошибку, просматривая пример wm_concat по ссылке, размещенной gustavodidomenico ниже. – DenaliHardtail