Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Получить все программы для школы / 8 сообщений из 8, страница 1 из 1
19.05.2020, 10:46
    #39959293
kolhoz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все программы для школы
Добрый день. Есть две таблицы schools и programs. Таблицы связаны следующим образом

schools содержит поля id, name, schools.program_id (содержит данные в виде 1,2,3,4 т.е. через запятую перечислены входящие программы)
programs содержит поля text, id

Как получить данные в виде

schools.name и в этой же строчке в поле programs через запятую все программы из таблицы programs
...
Рейтинг: 0 / 0
19.05.2020, 10:49
    #39959297
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все программы для школы
kolhoz,

Нормализировать schools, убрать вот это вот через запятую и никогда так не делать.
...
Рейтинг: 0 / 0
19.05.2020, 10:53
    #39959299
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все программы для школы
kolhoz
Как получить данные в виде

schools.name и в этой же строчке в поле programs через запятую все программы из таблицы programs
Распарсить этот бредовый CSV на отдельные значения (FAQ в помощь), связать с таблицей программ, сгруппировать обратно.

crutchmaster
убрать вот это вот через запятую и никогда так не делать.

+100500
...
Рейтинг: 0 / 0
19.05.2020, 11:03
    #39959305
kolhoz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все программы для школы
Нормализовать я не могу. Это готовый компонент для Joomla, которые писали какие-то люди и менять все это сейчас не представляется возможным. Придется видимо распарсить как посоветовали. Спасибо.
...
Рейтинг: 0 / 0
19.05.2020, 11:11
    #39959308
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все программы для школы
kolhoz
Нормализовать я не могу.

Можно связать таким условием:
Код: sql
1.
where concat(",",schools.program_id,",") like concat("%,",programs.id,",%")


Но это - полная дичь.
...
Рейтинг: 0 / 0
19.05.2020, 12:12
    #39959366
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все программы для школы
crutchmaster
Можно связать таким условием:
Тогда уж FIND_IN_SET().
...
Рейтинг: 0 / 0
19.05.2020, 12:15
    #39959367
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все программы для школы
Akina,

Ох ты. Там даже готовая функция есть для такой дичи.
...
Рейтинг: 0 / 0
19.05.2020, 15:37
    #39959542
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить все программы для школы
crutchmaster , ну если есть SET datatype, то есть и инструменты работы с ним.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Получить все программы для школы / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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