Size: a a a

2020 November 11

ЕС

Евгений Стигарь... in MySQL
Vova
select name
from (
SELECT
   CM.name,
   CCV.value
FROM
 car_modification CM,
   car_serie CS,
 car_characteristic_value CCV
WHERE
 (CCV.id_car_modification = CM.id_car_modification) AND
   (CS.id_car_model = CM.id_car_model) AND
   (
    (CCV.value LIKE '%Седан%') OR
     (CCV.value LIKE '%Механ%') OR
     (CCV.value LIKE '%Дизел%')  
   )
) a
group by CS.id_car_model
having group_concat(value order by value separator '$') = 'Дизель$Механическая$Седан'
источник

ЕС

Евгений Стигарь... in MySQL
источник

V

Vova in MySQL
Исправил, смотри выше.
источник

ЕС

Евгений Стигарь... in MySQL
Vova
Исправил, смотри выше.
да, вот новая ошибка)
источник

V

Vova in MySQL
подставь туда, то в рамках чего есть все value
источник

V

Vova in MySQL
марку или модель
источник

ЕС

Евгений Стигарь... in MySQL
у меня group by как то непонятно отрабатывает, почему то всегда на нем ошибка
источник

V

Vova in MySQL
много value относятся к какому столбцу?
источник

V

Vova in MySQL
что повторяется пока не перечислятся все value?
источник

ЕС

Евгений Стигарь... in MySQL
много) вот таблица car_characteristic_value
источник

ЕС

Евгений Стигарь... in MySQL
то есть, к одной модификации может быть 66 характеристик (как максимум)
источник

DE

Denis Efremov in MySQL
Похоже на недоEAV
источник

V

Vova in MySQL
Евгений Стигарь
то есть, к одной модификации может быть 66 характеристик (как максимум)
тогда в групбай модификацию
источник

ЕС

Евгений Стигарь... in MySQL
Vova
тогда в групбай модификацию
сделал вот так, но тоже не работает. пока что разбираюсь почему

select name
from (
SELECT
   CM.name as Modifi,
   CCV.value as CVal
FROM
 car_modification CM,
   car_serie CS,
 car_characteristic_value CCV
WHERE
 (CCV.id_car_modification = CM.id_car_modification) AND
   (CS.id_car_model = CM.id_car_model) AND
   (
    (CCV.value LIKE '%Седан%') OR
     (CCV.value LIKE '%Механ%') OR
     (CCV.value LIKE '%Дизел%')  
   )
) a
group by Modifi
having group_concat(value order by value separator '$') = 'Дизель$Механическая$Седан'
источник

V

Vova in MySQL
хоть без ошибок?
источник

V

Vova in MySQL
для дебага закоментируй having и добавь   group_concat(value order by value separator '$') = 'Дизель$Механическая$Седан' на самый верх - посмотри что возвращает
источник

ЕС

Евгений Стигарь... in MySQL
Vova
хоть без ошибок?
источник

ЕС

Евгений Стигарь... in MySQL
Vova
хоть без ошибок?
источник

ЕС

Евгений Стигарь... in MySQL
ааа, ой, я не так написал. вот на это поправил:

select name
from (
SELECT
   CM.name,
   CCV.value
FROM
 car_modification CM,
   car_serie CS,
 car_characteristic_value CCV
WHERE
 (CCV.id_car_modification = CM.id_car_modification) AND
   (CS.id_car_model = CM.id_car_model) AND
   (
    (CCV.value LIKE '%Седан%') OR
     (CCV.value LIKE '%Механ%') OR
     (CCV.value LIKE '%Дизел%')  
   )
) a
group by name
having group_concat(value order by value separator '$') = 'Дизель$Механическая$Седан'
источник

IZ

Ilia Zviagin in MySQL
Спорим, до утра вы запрос не осилите?
источник