Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Группировка альтернатив, MySQL v5.2x 
V
    Опции темы
tishaishii
Дата 25.5.2020, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Есть тупой и глупый вопрос.
Есть таблицы:
Код

t( id , drive_id , cartridge_id ) -- принтер и расходник
t_alt( t_id , t_alt_id ) /** список принтеров, в которые можно вставить расходиник
составлено так, что записи симметричны. То есть можно искать и найти и по t_id и по t_alt_id и найти одно и то же.
*/

t.id <->> t_alt.t_id


Необходимо составить запрос, чтобы возвращал для каждого картриджа подходящие принтеры без подзапросов.
С учётом того для для каждого t.id в t_alt  может не найтись t_alt.id.

То есть, вывод, если вам понятна нотация:
result( cartridge_id , group_concat( printer_id ) )

Это сообщение отредактировал(а) tishaishii - 25.5.2020, 09:19
PM MAIL ICQ Skype   Вверх
tishaishii
Дата 25.5.2020, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Ааа. В общем, пока вас дождёшься.
Самое простое - выполнил:
Код

INSERT IGNORE INTO `t_alt`( `t_id` , `t_alt_id` )
SELECT
        `ta1`.`t_alt_id` ,
        `ta1`.`t_id`
FROM
        `t_alt` AS `ta1`
UNION DISTINCT
SELECT
        `ta1`.`t_id` ,
        `ta1`.`t_id`
FROM
        `t_alt` AS `ta1`;

И вполне стали работать альтернативы.

Это сообщение отредактировал(а) tishaishii - 25.5.2020, 18:49
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0945 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.