Задать вопрос
@acspro

Как правильно прописать условие при LEFT JOIN с использованием COUNT для COUNT?

Уважаемые гуру, не хватает познаний в SQL? помогите пожалуйста. Использую Mysql 5. Запрос выглядит в идеале так:
SELECT r.*, r.`seats`- COUNT(re.`id`) as seatsFree FROM `tours` as r
		LEFT JOIN `requests` as re ON re.`tour_id`=r.`id` and re.`visible`=1 and re.`status`=3 
		WHERE COUNT(re.`id`)>5
		group by  r.`id`

И естественно умирает на строчке :
WHERE COUNT(re.`id`)>5
Пишет Invalid use of group function
Я как думаю что нужно писать HAVING но вот как? Как правильно составить запрос?
  • Вопрос задан
  • 549 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Evgeniy Zavyalov К ответам на вопрос (2)
profit
@profit
Разработка | Оптимизация. Telegram: @evzavyalov
не смотрел суть, но может так:

SELECT r.*, r.`seats`- COUNT(re.`id`) as seatsFree FROM `tours` as r
    LEFT JOIN `requests` as re ON re.`tour_id`=r.`id` and re.`visible`=1 and re.`status`=3 
    group by  r.`id`
    having COUNT(re.`id`)>5
Ответ написан
Комментировать