Объединению 2-х таблиц с определённой выборкой - MySQL
Формулировка задачи:
Всем привет, есть вопрос. Значит - есть 2 таблицы:
number | number_id
5555 | 12
5354 | 3
5354 | 4
5555 | 13
5555 | 45
и
name | number
igor | 5354
oleg | 5555
каким запросом мне получить следующую таблицу:
name | number | number_id
igor | 5354 | 3,4
oleg | 5555 | 12,13,45
Решение задачи: «Объединению 2-х таблиц с определённой выборкой»
textual
Листинг программы
select `nam`.`name` AS `name`,`num`.`number` AS `number`,concat(`num`.`number_id`,',',`num`.`number_id`,',',`num`.`number_id`) AS `number_id` from (`nam` join `num` on((`nam`.`number` = `num`.`number`))) where (`nam`.`name` = 'igor')
Объяснение кода листинга программы
- В данном коде происходит объединение (JOIN) двух таблиц:
namиnum. - Название первой таблицы, которую мы объединяем -
nam, а второй -num. - В условии объединения мы используем равенство столбцов
numberиз обеих таблиц. - В итоговой выборке мы указываем столбцы, которые нам нужны:
nameиз таблицыnamиnumberиnumber_idиз таблицыnum. - Мы также используем функцию CONCAT для объединения значений столбца
number_idиз таблицыnumв одну строку. - В конце мы добавляем условие WHERE, чтобы выбрать только те строки, где
nameравно 'igor'.