下面是表(新用戶,無法張貼圖片還):需要幫助從Excel數組公式將SQL語句組合
我一直使用的Excel,但我由於數據集較大,因此切換到SQL。爲了在Excel中填充CELL G2,我會使用類似這樣的東西:
=SUM((A2:A8=E2)*(B2:B8))
在Excel for Cell G2中給出了一個值141。
我想出瞭如何讓這個工作在SQL中,但我不完全明白爲什麼這會起作用。以下是我在SQL中使用的內容:
SET Table2.total_units_purchased = Table1.some_number
FROM Table2 INNER JOIN
(
SELECT Table1.item
, SUM(Table1.units_purchased) AS some_number
FROM Table1
GROUP BY Table1.item
) Table1
ON Table2.item = Table1.item
在some_number之前是否需要「AS」?即使省略「AS」,這仍然有效。
我在這裏錯過了什麼嗎?最後一行代碼中的表的順序是否重要?
感謝您的任何幫助。
作爲這種情況下的AS是一個別名,雖然不錯的形式,它不是必需的。 ON子句的順序無關緊要。 – xQbert 2012-02-05 22:15:53
我對「AS」有點困惑,因爲我最初用它來標記查詢結果中的一列。我不知道它可以用來分配這樣的值。 – eek142 2012-02-05 22:21:10
您的查詢完好無損。首先,對購買的單位進行總結(運行內部查詢以查看其輸出),然後將其視爲派生表(帶有別名「Table1」)並加入它以執行更新。 – ErikE 2012-02-05 23:25:05