Как получить всех пользователей, которые не имеют ни одной отрицательной транзакции в связанной таблице?

Есть таблица пользователей

id, name

Есть таблица транзакций

id, user_id, sum

Нужно получить всех пользователей, которые не имеют ни одной отрицательной транзакции (т.е. у которых нет ни одной записи с sum < 0.

Получить всех у кого есть > 0 понятно, но как из этой выборки исключить тех, у кого есть помимо больше 0 еще и меньше нуля?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
bitniks
@bitniks
Go/PHP/Symfony developer
SELECT *
FROM users u
WHERE NOT EXISTS (
    SELECT * 
    FROM transactions t 
    WHERE u.id = t.user_id AND sum < 0
    LIMIT 1
);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы