У меня есть таблица в PostgreSQL 9.4:Ограничение на сумму от строк
user_votes (
user_id int,
portfolio_id int,
car_id int
vote int
)
Можно ли поставить ограничение на стол, так что пользователь может иметь максимум 99 очко голоса, в каждом портфеле? Это означает, что пользователь может иметь несколько строк, состоящих из одних и тех же user_id и portfolio_id, но разных car_id и голосовать. Сумма голосов не должна превышать 99, но она может быть размещена среди разных автомобилей.
Так делают:
INSERT INTO user_vores (user_id, portfolio_id, car_id, vote) VALUES
(1, 1, 1, 20),
(1, 1, 7, 40),
(1, 1, 9, 25)
бы все разрешено, но при попытке добавить что-то, что превышает 99 голосов должны потерпеть неудачу, как и другой ряд:
INSERT INTO user_vores (user_id, portfolio_id, car_id, vote) VALUES
(1, 1, 21, 40)