我正在创建一个mmorpg数据库,我必须创建一个视图来查看字符库存中包含的5个最受欢迎的项目以及拥有它们的字符数。我想过使用COUNT但我需要它来返回多个值。另外,如果每个项目至少包含2个字符的库存,我怎样才能显示包含这些项目的字符数。
请帮助我,我真的迷失了这个。
CREATE TABLE charactor
(
charactorID INT NOT NULL,
charactorName VARCHAR (40) NOT NULL,
teamName VARCHAR (50) NOT NULL,
skill VARCHAR (30) NOT NULL,
accountID INT NOT NULL REFERENCES account (accountID),
PRIMARY KEY (charactorID)
)
GO
CREATE TABLE item
(
itemID INT NOT NULL CHECK (itemID > 0 and itemID < 9),
item1 VARCHAR (40) NULL,
item2 VARCHAR (40) NULL,
item3 VARCHAR (40) NULL,
item4 VARCHAR (40) NULL,
item5 VARCHAR (40) NULL,
item6 VARCHAR (40) NULL,
item7 VARCHAR (40) NULL,
item8 VARCHAR (40) NULL,
PRIMARY KEY (itemID)
)
GO
USE mmorpg_project
GO
CREATE TABLE itemQuantity
(
charactorID INT NOT NULL REFERENCES charactor (charactorID),
itemID INT NOT NULL REFERENCES item (itemID),
quantity INT NOT NULL,
PRIMARY KEY (charactorID, itemID)
)
GO
这就是我试过的......
USE mmorpg_project
GO
CREATE VIEW vwPopItems
AS
SELECT TOP 5 itemQuantity.quantity, itemQuantity.itemID, charactor.charactorID
FROM itemQuantity
JOIN charactor
ON charactor.charactorID = itemQuantity.charactorID
GROUP BY itemQuantity.itemID
ORDER BY itemQuantity.quantity DESC
GO
但我一直收到错误,不允许我订购这是错误。消息8120,级别16,状态1,过程vwPopItems,第4行列&#39; itemQuantity.quantity&#39;在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中 另外我不确定如何获得具有项目1的字符数量。