Пусть есть 2 таблички
a
b
| b | a_id | type | | 1 | 1 | t1 | | 2 | 2 | t1 | | 3 | 2 | t2 | | 4 | 1 | t1 | | 5 | 1 | t3 |
|
Мне нужно те записи a, у которых есть связаные записи в b, но в них должен отсутсвовать запись type=t3
Запрос который возращает a у которых есть записи в b прост:
select a.id
inner join b on a.id = b.a_id
where not b.type in (t1,t2)
group by a.id
ЗАпрос должен вернуть 1,2 сейчас же возращает 1,2,3. Нужно 3 отфильтровать.
Можно ли как нить
без подзапроса это сделать?
К примеру как нить так? Есть такие функции??
select a.id
inner join b on a.id = b.a_id
where not b.type in (t1,t2)
group by a.id
having 't3' not in xxxx(b.type)