SQL 查询和更新:根据会员姓名统计零售笔数和金额并更新会员档案
已知有两张表,根据提供的资料,结合题目写出相应的SQL语句
busretail 零售单(id,billdate,vipid,qty,famount,ramount) 其中ID为主键,billdate为单据日期,vipid为会员ID,qty为零售数量,famount为零售成交金额,ramount 为零售原价金额
defvip 会员档案(id,VIPNO,VIPNAME,BIRTH,sex,TCNT,TOTLECOST) 其中id为主键,VIPno为会员卡号,vipname为会员名称,BIRTH为生日 例:0920,sex为性别,TCNT为消费次数,TOTLECOST为消费金额。
查询零售单内,'张三'的零售笔数,消费金额,并将对应的会员档案内消费次数和消费金额进行更新
1.
SELECT COUNT(*) AS qty, SUM(famount) AS total_amount
FROM busretail
WHERE vipid IN (
SELECT id FROM defvip WHERE vipname = '张三'
)
2.
UPDATE defvip
SET TCNT = TCNT + (SELECT COUNT(*) FROM busretail WHERE vipid = defvip.id),
TOTLECOST = TOTLECOST + (SELECT SUM(famount) FROM busretail WHERE vipid = defvip.id)
WHERE VIPNAME = '张三'
原文地址: https://www.cveoy.top/t/topic/n92R 著作权归作者所有。请勿转载和采集!