我想仅在满足条件的行数大于值时才在行中插入新条目。
我该怎么做?我给出错误的示例sql查询是
INSERT INTO coupon_use (coupon, customer) VALUES (3, 4)
WHERE (SELECT count(redeem_at) from coupon_use WHERE coupon=3) <= 150;
它告诉我在哪里有错误。如何更正此查询?
我想在此表中插入一个值为3和4的项目,只有当重新安排的优惠券数量大于150时
我的数据库服务器是postgres
答案 0 :(得分:2)
您不能使用VALUES和WHERE子句。
你需要一个SELECT
insert into coupon_use(coupon, customer)
select 3, 4
from coupon_use
where coupon = 3
group by coupon -- we can group by coupon to be able to use an HAVING clause
having count(redeem_at) <= 150