前提:
库存表Stock,字段SkuNo(商品编码)、SkuName(商品名称)、Quantity(数量)、Price(金额)、AveragePrice(库存均价)
销售主表Sales,字段SalesCode(销售编码)、CustomNo(客户编码)、SaleDate(销售日期)、Saler(销售员)、TotalPrice(总金额)
销售从表SalesDetail,字段SalesCode(销售编码)、SkuNo(销售编码)、OrderNum(订货数量)、UnitPrice(销售单价)、Price(金额)
(1)、请写出销售日期在2020-08-01至2020-08-31之间的客户编码为sa001且商品编码为sk001的销售情况查询语句;
SELECT * FROM SalesDetail
WHERE SkuName=’sk001’
UNION
SELECT * FROM Sales
WHERE CustomNo=’sa001’
BETWEN ‘2020-08-01’ and ‘2020-08-31’;
(2)、数据库中手动插入一个客户编码为sa002且在2020-08-01下单商品编码为sk002订货数量为200,销售单价为66的销售订单,同时用销售订单的数量更新库存的数量(销售为出库),请用insert、update语句实现;
INSERT ALL
INTO Sales(CustomNo,SaleDte) VALUES(sa002,2020-08-01)
INTO SalesDetail(SkuNo,OrderNum,Unitrice) VALUESE(sk002,200,66)
UPDATE Stock
SET SkuNo=’sk002’,Quantity=’200’
WHERE SkuName;
请教一下我写的是否正确或者哪位大神给个范本学习一下,谢谢!
请问是什么数据库
你这个应该是商品编码吧
UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
你第一个问题的两个表并不符合这个条件,因此不能用union。
你可以试试别的外表连接.
可以参考https://www.w3school.com.cn/sql/sql_join_left.asp
SELECT * FROM Sales as a,SalesDetail as b
WHERE a.SalesCode=b.SalesCode
and a.CustomNo=’sa001’ and b.SkuNo='sk001' and a.SaleDate BETWEN ‘2020-08-01’ and ‘2020-08-31’;
我有q924711636文本发你