Задавайте вопросы, мы ответим
Вы не зашли.
Доброго времени суток.
Помогите написать sql запрос для MySQL.
Есть 3 таблицы
1 таблица t1 с полями
id name
2 таблица t2 с полями
id name
3 таблица t3 с полями
id t1_id t2_id
Т. е. 3 таблица связывает сущности из первых двух.
Задача выбрать значения из 1 таблицы, которая связана с конкретными значениями со 2 таблицы.
запрос
select t1.* from t3 join t1 on (t3.t1_id = t1.id) join t2 on (t3.t2_id = t2.id)
where t2.id IN (?, ?, ?)
возвратит все значения даже если есть совпадение по 1 параметру, а нужно только если совпадет по всем 3.
Спасибо.
Неактивен
Таки нужно множественное объединение:
JOIN t2 a1 JOIN t2 a2 JOIN t2 a3
WHERE a1.id = ? AND a2.id = ? AND a3.id = ?
Неактивен
Спасибо за ответ. Попробовал сделать так
select t1.id from
t1_t2 t3
join t1 on (t3.t1_id = t1.id)
join t2 a1 on (t3.t2_id = a1.id)
join t2 a2 on (t3.t2_id = a2.id)
where
a1.id = 1 AND a2.id = 2
GROUP BY (t1.id)
получаю пустой результат. Гляньте, плиз мот я чего-нить забыл?
Неактивен
Вроде, всё правильно. Может, таких данных нету?
Неактивен