【发布时间】:2015-05-19 20:52:26
【问题描述】:
-- 使用订单、客户、员工和订单详细信息表,选择订单 ID、订单日期、 -- 客户公司名称、员工姓氏以及每个订单支付的总金额(包括运费,但忽略折扣)
我觉得我的答案非常接近,但我一直遇到这个错误。我是数据库新手,所以我认为我忽略了一些简单的东西。我查看了具有相同错误的其他页面,但对我来说没有任何意义。
子查询本身可以工作,但是当我将它扔到查询的其余部分时,我得到了这个错误:子查询返回了超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。
这是我目前的查询:
Select (Select (Sum(UnitPrice * Quantity) + Freight) as AmountPaid
From [Order Details], Orders
Group By [Order Details].OrderID, Freight),
OrderDate, [Order Details].OrderID, CompanyName, LastName
From [Order Details], Customers, Employees
Inner Join Orders ON OrderID=Orders.OrderID
【问题讨论】:
-
在“选择”部分使用子查询,只能返回一行一列。如果您期望多行,请使用 join。
-
您的答案不是很接近。您在外部查询中的联接都是错误的。子查询中的连接都是错误的。
标签: sql sql-server inner-join