записей в table2 > заданного кол-ва (в примере 5), что-то подобное:
select
*,
(select count(*) from payments where payments.users_id = users.id) as payments
from users where (
users.payments > 5
)
Но не пойму почему ловлю ошибку: column users.payments does not exist?
может ты хочешь as payments взять? тогда он ведь просто payments
В таблице users есть колонка payments?)
В самой таблице нет, но я добавляю её селектом.
Потому, что результаты логически формируются после обработки where — поэтому, согласно традицыи, в where нельзя указывать колонки из своего select-листа.
И как быть в таком случае? Вместо users.payments сделать селект?
Да сделайте вы join на payments , count и having
Не факт, что это лучшэ его подхода.
В курсоре может не лучше, в остальном читабельнее
Обсуждают сегодня