首页 新闻 赞助 找找看

关于SQL语法的请教

0
悬赏园豆:60 [待解决问题]

前提:
库存表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;

请教一下我写的是否正确或者哪位大神给个范本学习一下,谢谢!

potatosuper的主页 potatosuper | 初学一级 | 园豆:142
提问于:2020-12-02 11:52
< >
分享
所有回答(3)
0

请问是什么数据库

依米呀 | 园豆:235 (菜鸟二级) | 2020-12-02 14:59

你这个应该是商品编码吧

支持(0) 反对(0) 依米呀 | 园豆:235 (菜鸟二级) | 2020-12-02 15:11

UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
你第一个问题的两个表并不符合这个条件,因此不能用union。
你可以试试别的外表连接.
可以参考https://www.w3school.com.cn/sql/sql_join_left.asp

支持(0) 反对(0) 依米呀 | 园豆:235 (菜鸟二级) | 2020-12-02 15:33
0

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’;

KingMi | 园豆:1344 (小虾三级) | 2020-12-02 18:07
0

我有q924711636文本发你

秋北先生IT | 园豆:215 (菜鸟二级) | 2021-01-07 09:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册