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 retail_count, SUM(famount) AS total_amount
FROM busretail
WHERE vipid = (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/n92X 著作权归作者所有。请勿转载和采集!