powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Результат запроса в одну строку
7 сообщений из 7, страница 1 из 1
Результат запроса в одну строку
    #40100847
Eliska-lisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет ! Мне посоветовали обратиться сюда для решения возникшей проблемы.
Результат запроса

Код: plsql
1.
SELECT code, ean FROM bd WHERE code IN ( '1', '2', '3') 



Получаю такой ответ

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
code                ean
1	            4007430240897
1	            4061792156388
1	            4007430320919
2	            4061792156401
2	            2000183387552
2	            4007430306241
3	            0088381081658
3                   2000187699514



Необходимо привести к виду :
Код: plsql
1.
2.
3.
4.
code    ean
1	4007430240897, 4061792156388, 4007430320919
2	4061792156401, 2000183387552, 4007430306241
3       0088381081658, 2000187699514




Я пробовала делать через group_concat, но получаю все в одну строку
Так же я пробовала разобраться с SUBSTRING , но не получилось :(
Сдалась и прошу вашей помощи
Спасибо заранее
...
Рейтинг: 0 / 0
Результат запроса в одну строку
    #40100863
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eliska-lisa
Я пробовала делать через group_concat, но получаю все в одну строку
Ну потому что нужна группировка (GROUP BY) - без явного указания выражения группировки весь набор данных интерпретируется как одна группа.
...
Рейтинг: 0 / 0
Результат запроса в одну строку
    #40100888
AndrewS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eliska-lisa,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
with RAW_DATA as
(   
select column_0 code, column_1 ean 
from 
    (values row( 1, 111100200)
        ,   row( 1, 111100201)
        ,   row( 1, 111100202)
        ,   row( 2, 222100200)
        ,   row( 2, 222100201)
        ,   row( 2, 222100202)
        ,   row( 3, 333100301)
        ,   row( 3, 333100302)
    ) as raw_data
)
select code
     , group_concat( ean) as ean_grp
from RAW_DATA
group by code


Код: plaintext
1.
2.
3.
4.
code|ean_grp                      |
----+-----------------------------+
   1|111100200,111100201,111100202|
   2|222100200,222100201,222100202|
   3|333100301,333100302          |
...
Рейтинг: 0 / 0
Результат запроса в одну строку
    #40100924
Eliska-lisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndrewS,

Ну тут вы же сами перечисляете ean , не очень поняла как можно это применить к 10000 строк , к примеру
...
Рейтинг: 0 / 0
Результат запроса в одну строку
    #40100926
Eliska-lisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Вы могли бы предоставить пример ?:
...
Рейтинг: 0 / 0
Результат запроса в одну строку
    #40100966
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eliska-lisa
Ну тут вы же сами перечисляете ean , не очень поняла как можно это применить к 10000 строк , к примеру
Вы что, не знаете о существовании CTE?
Eliska-lisa
Вы могли бы предоставить пример ?:
Так ведь AndrewS уже дал пример... какой смысл, если Вы не понимаете ответов на свои вопросы?
...
Рейтинг: 0 / 0
Результат запроса в одну строку
    #40101080
AndrewS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eliska-lisa,

вы не предоставили скриптов для создания тестового набора данных, поэтому я использовал CTE-выражение для подготовки каких-нибудь данных.

Если мой SQL сложноват, попробуйте:
Код: sql
1.
2.
3.
4.
select code
     , group_concat( ean) as ean_grp
from bd   -- имя вашей таблицы
group by code
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Результат запроса в одну строку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]