关于SQL模拟题的请教
sql吧
全部回复
仅看楼主
level 1
Laytonlee 楼主
前两天收到这样的一个问题,我大概写了一下,感觉不太对劲,请大神帮忙看看,给个准确的答案,谢谢!
前提:
库存表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;
2020年12月02日 05点12分 1
level 5
第一题或许把UNION替换成 AND嘛?题目要求“并且”指条件同时成立,是不是用AND连接条件会更合适?[来追我呀]
2020年12月02日 05点12分 2
level 8
第一个改成join on会不会好很多[吐舌][吐舌]
2020年12月03日 02点12分 3
level 8
SELECT * FROM SalesDetail
WHERE SkuName=’sk001’
UNION
SELECT * FROM Sales
WHERE CustomNo=’sa001’
BETWEN ‘2020-08-01’ and ‘2020-08-31’;
SalesDetail表 UNION Sales表?
不同表,栏位结构肯定不同。UNION肯定会报错了。
INSERT ALL INTO 是PL-SQL的语法你是oracle数据库吧?
日期请加“‘”号否则报错
UPDATE你where条件没值
2020年12月04日 01点12分 4
1