- Автор темы
- #1
Итак, есть 3 таблицы:
-names - Имена учеников
id
name - Имя ученика
-discp - предметы
id
dis - предмет
-name_dis - таблица связей ученик + какие предметы
id
dis_id
name_id
Т.е. по логике у каждого ученика больше чем 1 предмет, тем самым в таблице связей поле name_id будет повторятся, например:
1 | Вася | Физика
1 | Вася | Алгебра
2 | Катя | История
3 | Петя | Физика
3 | Петя | Алгебра
3 | Петя | История
Идея такова, вывести в 1 строчку имя и предметы:
Вася : Физика, Алгебра
Катя : История
итд
знаю, что можно сделать запрос типо:
SELECT names.name, GROUP_CONCAT(discp.dis SEPARATOR ' | ' ) AS predmeti FROM names,discp WHERE names.id = name_dis.name_id AND discp.id = name_dis.dis_id GROUP BY names.id
но сделав такой запрос дальше я не могу подсоединить другие нужные мне данные по предметам, например линк на другую страницу с этим предметом ну или какие-то другие данные, т.е. как я понял нужно брать простой запрос выбрав всё где id предметов и учеников равны в таблице связки с первыми двумя таблицами, но после запроса не могу понять точно, что делать, мне подсказали что нужно делать через array_key_exists, но толком не объяснили
По-этому нуждаюсь помощи именно в сторону кода который нужно вписать после запроса или же перед
-names - Имена учеников
id
name - Имя ученика
-discp - предметы
id
dis - предмет
-name_dis - таблица связей ученик + какие предметы
id
dis_id
name_id
Т.е. по логике у каждого ученика больше чем 1 предмет, тем самым в таблице связей поле name_id будет повторятся, например:
1 | Вася | Физика
1 | Вася | Алгебра
2 | Катя | История
3 | Петя | Физика
3 | Петя | Алгебра
3 | Петя | История
Идея такова, вывести в 1 строчку имя и предметы:
Вася : Физика, Алгебра
Катя : История
итд
знаю, что можно сделать запрос типо:
SELECT names.name, GROUP_CONCAT(discp.dis SEPARATOR ' | ' ) AS predmeti FROM names,discp WHERE names.id = name_dis.name_id AND discp.id = name_dis.dis_id GROUP BY names.id
но сделав такой запрос дальше я не могу подсоединить другие нужные мне данные по предметам, например линк на другую страницу с этим предметом ну или какие-то другие данные, т.е. как я понял нужно брать простой запрос выбрав всё где id предметов и учеников равны в таблице связки с первыми двумя таблицами, но после запроса не могу понять точно, что делать, мне подсказали что нужно делать через array_key_exists, но толком не объяснили
По-этому нуждаюсь помощи именно в сторону кода который нужно вписать после запроса или же перед