powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Собрать информацию с нескольких таблиц
4 сообщений из 4, страница 1 из 1
Собрать информацию с нескольких таблиц
    #39841308
Graf_Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу нормально собрать данные из запроса

amortizators - тут номера амортизаторов
info_table_description - описание
info_table_numbers_description - промежуточная таблица
info_table_numbers - начало номера как в номере амортизаторов, по нему искать надо description

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT t1.art_number, GROUP_CONCAT( DISTINCT description_ru ) AS description_ru
FROM amortizators t1
INNER JOIN info_table_description td
INNER JOIN info_table_numbers_description tnd ON tnd.description_id = td.id
INNER JOIN info_table_numbers tn ON tn.id = tnd.numbers_id
JOIN info_table_numbers tn2 ON LOCATE( tn2.article_number, t1.search ) //это вообще не работает
WHERE t1.search LIKE  '%8245%'



в amortizators.search записаны такие номера: 82451032, 82451327, 82451008 и т.д. а в ответ попадает только первый
в info_table_numbers.article_number записано: 8245
в info_table_description записано: Нерегулируемый
а в другой строке: Стандартная конструкция
чтоб их слепить использую GROUP_CONCAT()

вот что хочу в ответе:
82451032 Нерегулируемый; Стандартная конструкция82451327 Нерегулируемый; Стандартная конструкция82451008 Нерегулируемый; Стандартная конструкция
...
Рейтинг: 0 / 0
Собрать информацию с нескольких таблиц
    #39841323
Graf_Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот так получать можно отдельно данные что мне нужны из таблицы info_table_description , но необходима связь по каждому номеру из таблицы amortizators , а как связать я не пойму
Код: sql
1.
2.
3.
4.
5.
SELECT  `description_ru` 
FROM  `info_table_description` td
INNER JOIN  `info_table_numbers_description` tnd ON tnd.description_id = td.id
INNER JOIN  `info_table_numbers` tn ON tn.id = tnd.numbers_id
WHERE  `article_number` =  '8245'
...
Рейтинг: 0 / 0
Собрать информацию с нескольких таблиц
    #39841336
Graf_Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так выводит только первое значение
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT `art_number`, GROUP_CONCAT(DISTINCT description_ru) FROM `amortizators` 
JOIN (
SELECT  `description_ru` 
FROM  `info_table_description` td
INNER JOIN  `info_table_numbers_description` tnd ON tnd.description_id = td.id
INNER JOIN  `info_table_numbers` tn ON tn.id = tnd.numbers_id
WHERE  `article_number` =  '8245') as descr
WHERE `search` LIKE '8245%'



82451032 Нерегулируемый; Стандартная конструкция

почему не даёт остальные?
...
Рейтинг: 0 / 0
Собрать информацию с нескольких таблиц
    #39841388
Graf_Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сам задал вопрос, сам решил....

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT DISTINCT `art_number`, (
		SELECT  GROUP_CONCAT(DISTINCT `description_ru`) 
		FROM  `info_table_description` td
		INNER JOIN  `info_table_numbers_description` tnd ON tnd.description_id = td.id
		INNER JOIN  `info_table_numbers` tn ON tn.id = tnd.numbers_id
		WHERE  `amortizators`.`search` LIKE CONCAT('', `article_number` ,'%'))
FROM `amortizators` 
WHERE `search` LIKE '30%'
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Собрать информацию с нескольких таблиц
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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