Mohamed iki Ответов: 3

Объедините несколько строк в одну строку с помощью базы данных sqlite


у меня есть этот стол

плантидное имя
1 дерево
1 Роза
2 куста
3 дерево
3 куста
3 Роза


пожалуйста помогите мне sqlite код для создания этого я пытаюсь это сделать есть ошибка


плантид name1 name2 name3 ...
1 розовое дерево нуль
2 кустарник NULL NULL
3 дерево розовый куст


Что я уже пробовал:

выберите plantid,
max(случай, когда nameRn = 'name1', а затем name end) Name1,
max(случай, когда nameRn = 'name2', а затем name end) Name2,
max(случай, когда nameRn = 'name3', а затем name end) Name3
от
(
выберите plantid, имя,
функция concat('имя', @пит := если (plantid@plantid =``, @Нум + 1, 1)) Как nameRn,
@plantid := `plantid` как манекен
от
(
выберите plantid, name, @rn:=@rn+1 overall_row_num
из таблицы yourtable, (SELECT @rn:=0) r
) икс
заказ по plantid, overall_row_num
) src
группа по плантиду;

Richard MacCutchan

Пожалуйста, пожалуйста, пожалуйста, скажите нам, в чем ошибка. И покажите, в какой строке кода это происходит.

ZurdoDev

Google как конвертировать строки в столбцы. Или другой подход-это объединение строк вместе.

Mohamed iki

спасибо

3 Ответов

Рейтинг:
23

Maciej Los

5ed!

Рейтинг:
15

RickZeeland

Взгляните на это GROUP_CONCAT функция: Функция SQLite group_concat () - w3resource[^]


Maciej Los

5ed!

Рейтинг:
12

Mohamed iki

"select  id,max( case when name = 'tree' then name end) as name1,max(case when name = 'rose' then name end ) as name2 from table_name group by id";