в твоем примере нужный результат вроде бы получится так
SELECT table2.id
FROM table1
INNER JOIN table2 ON (table2.table1_id = table1.id
WHERE table2.id IN (1,2,3,4)
GROUP BY table1.id
HAVING count(*) = 2
делать SELECT * при использовании GROUP BY глупо. по смыслу непонятно какие там будут значения. в SELECT должны попадать поля по которым группируеш + агрегатные функции. т.е. вот так логично:
SELECT table2.id, count(*)
или
SELECT table2.id, sum(table1.xxx)
но НЕ вот так. это уже хуйня непредсказуемая:
SELECT table2.id, table1.xxx
такова природа вещей. к сожалению MySQL не пишет ошибку при неправильном использовании GROUP BY, а все другие диалекты SQL ругаются
Спустя 213 сек.
Чо за троллинг? :-), посмотри запрос внимательнее и поймешь о чем я, а не выдергивай оператор "OR" без контекста)))
я процитировал весь твой контекст, умник.
зачем я мечу бисер перед свиньями! иди пасись!
ιιlllιlllι унц-унц