已知有两张表,根据提供的资料,结合题目写出相应的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 = '张三'
SQL 查询和更新:根据会员姓名统计零售笔数和金额并更新会员档案

原文地址: https://www.cveoy.top/t/topic/n92R 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录