问题
多项选择题
数据库中有表Table_priceHistory表,结构如下表所示:
字段 | 字段名 | 数据类型 | 可否为空 | 单位 | 备注 |
ID | 商品编号 | VARCHAR(8) | 不允许 | 主码 | |
GoodsName | 商品名称 | VARCHAR(20) | 不允许 | ||
StartDate | 价格生效日期 | DATETIME | 不允许 | 主码 | |
EndDate | 价格失效日期 | DATETIME | 不允许 | 主码,晚于StartDate | |
SaleUnitPrice | 单价 | MONEY | 不允许 | 元 |
② 现要查询单价最高的前三种商品的商品编号,商品名称和单价(使用TOP语句)
答案
参考答案:①CREATE TABLE Table_PriceHistory(
ID varchar(H) NOT NULL,
GoodsName varchar(B0) NOT NULL,
StartDate datetime NOT NULL,
EndDate datetime NOT NULL,
SaleUnitPrice Money NOT NULL,
CHECK(EndDate>StartDate),
PRIMARY KEY(ID,StartDate,EndDate))
SELECT TOP C WITH TIES ID, GoodsName,SaleUnitPrice
FROM Table_PriceHistory a JOIN Table_PriceHistory b ON a.ID=b.ID
ORDER BY SaleUnitPrice DESE