Итак, я работаю над проблемой SQL, в которой у меня есть база данных баров и пива, из которой я хочу: перечислять все бары, которые подают пиво, которое любит Майк, и которые часто посещают более одного пьющего.Как фильтровать кортежи SQL по количеству членов
База данных состоит из:
likes (drinker, beer)
frequents(dinker, bar)
sells(bar, beer)
Так что я пробовал:
SELECT bar
FROM beer.sells
WHERE beer IN
(SELECT beer
FROM beer.likes
WHERE drinker = 'Mike') AND bar IN
(SELECT bar FROM beer.frequents HAVING COUNT(drinker) > 1)
Что не работает ... почему не COUNT() Стабильный сравнительную работу в качестве фильтра для отфильтровать бары, в которых есть менее 2 пьющих, которые их посещают?
базы данных, в том числе. конкретные версии PLS - некоторые функции поддержки других нет. –
_ ", которые часто посещаются более чем ** одним ** пьющим." _ <> 'HAVING COUNT (drinker)> 2' – gdoron
Я верю, что частоты (dinker, bar) в определении таблицы должны быть частыми (пьющие, бары) – Appleman1234