虽然给出了发布者名称,但我想生成按年份和月份排序的书籍报告。对于每一个年份和月份的报告应该表明BOOKID,标题,订单标题,总数量和总销售价值(包括订单价值和零售价)的总数量,同时考虑到书IDSQL SELECT多个项目错误
我的代码:
SELECT
ShopOrder.OrderDate, Book.BookID, Book.title,
COUNT(ShopOrder.ShopOrderID) AS "Total number of order",
SUM (Orderline.Quantity) AS "Total quantity",
Orderline.UnitSellingPrice * Orderline.Quantity AS "Total order value",
Book.Price * OrderLine.Quantity AS "Total retail value"
FROM
ShopOrder, Publisher, Book, Orderline
WHERE
Publisher.name = 'Penguin Books'
AND ShopOrder.ShopOrderID = Orderline.ShopOrderID
AND Book.BookID = Orderline.BookID
AND Publisher.PublisherID = Book.PublisherID
ORDER BY
ShopOrder.OrderDate;
错误:
column "shoporder.orderdate" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT ShopOrder.OrderDate, Book.BookID, Book.title, COUNT(S... ^ERROR: column "shoporder.orderdate" must appear in the GROUP BY clause or be used in an aggregate function
SQL state: 42803
Character: 8
您确定有一个表或视图叫做orderline吗? – n8wrl
http://stackoverflow.com/questions/695289/cannot-simply-use-postgresql-table-name-relation-does-not-exist - 你没有正确引用表名。此外,你可以别名你的表名,所以你不必一遍又一遍地写下来(我知道这不是问题的一部分,但它会缩短你的查询并使其更容易阅读)。 – Dresden
编辑错误,对以前的错误感到抱歉 –