2015-05-19 23 views
0

- 使用訂單,客戶,員工和訂單明細表,選擇訂單標識,訂單日期, - 客戶公司名稱,員工姓氏和已付款總額(包括運費,但忽略折扣)爲每個訂單SQL - 子查詢返回多個值。怎麼修?

我覺得我非常接近我的答案,但我一直遇到這一個錯誤。我是數據庫新手,所以我假設我忽略了一些簡單的東西。我看過其他頁面的錯誤,但對我來說並沒有任何意義。

子查詢本身工作,但當我把它扔進查詢的其餘部分時,我得到這個錯誤:子查詢返回多個值。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。

這裏是我的查詢迄今:

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 
+0

要在「選擇」部分使用子查詢,它只能返回一行和一列。如果您期望多行,請使用連接。 – Tim3880

+0

你不是很接近你的答案。外部查詢中的連接都是錯誤的。子查詢中的連接都是錯誤的。 –

回答

0

變化

(Sum(UnitPrice * Quantity) + Freight) 

Sum((UnitPrice * Quantity) + Freight) 
+0

在計算所有訂單中的所有產品的總和後,每次訂單隻添加一次運費,而不是每次進行每次訂單,因爲訂單ID僅針對每批貨物,而不是每個產品。 –

0

取出內加入條款。

添加WHERE條件末類似如下:

其中table1.a = table2.a和table2.x = table3.y

見表之間的關係是如何定義的。