Мне нужно запросить таблицу в базе данных Oracle: Статьи
И затем мне нужно знать, все идентификаторы сеанса, где у меня есть одна статья со значением> x, активирована, а другая отключена, и этозначение> 0.
Я пытаюсь что-то вроде этого:
select art.sessionid, art.id, art.value, art.enabled from articles art
group by art.sessionid, art.id, art.value, art.enabled
having (art.id = 10 and art.enabled = 1 and art_value > 2) and
(art.id = 20 and art.enabled = 0 and art_value > 0)
Но я не получаю список всех сессий, которые содержат статью 10 как включена и со значением большезатем 2, но не статья 20, отключено и значение больше 0.
Это просто, потому что art.value объединяется над двумя другими таблицами.