Как правильно выбрать данные по двух условиям?
У меня есть таблица ad - структура и таблица ad_props - структура
Я пытаюсь выбрать запись
SELECT `ad`.*
FROM `ad`
INNER JOIN `ad_props` ON ad_props.ad_id = ad.id
WHERE (`status`=2)
AND ((`ad_props`.`row_id`=5)
AND ((`ad_props`.`value`='10') OR (`ad_props`.`value_id`='10')))
AND ((`ad_props`.`row_id`=6)
AND ((`ad_props`.`value`='12') OR (`ad_props`.`value_id`='12')))
GROUP BY `ad`.`id`
И должно было выбрать 1 запись - введите сюда описание ссылки
Как я понимаю, это из-за того, что не может быть row_id и 5 и 6 одновременно.
Вопрос: с помощью какой конструкции это можно сделать?
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
SELECT `ad`.*
FROM `ad`
INNER JOIN `ad_props` ON ad_props.ad_id = ad.id
WHERE (`status`=2)
AND
(
(
((`ad_props`.`row_id`=5)
AND ((`ad_props`.`value`='10') OR (`ad_props`.`value_id`='10')))
)
OR
(
((`ad_props`.`row_id`=6)
AND ((`ad_props`.`value`='12') OR (`ad_props`.`value_id`='12')))
)
)
GROUP BY `ad`.`id`