2015-09-29 35 views
0

我沒有得到任何回報,任何人都可以看到我失蹤的簡單婷?從目前編號總和

SELECT SUM(Amount * InPrice) AS TotalItemsOrdered 
FROM tblMaterial 
WHERE [tblMaterial].[OwnerId] = [tblTask].[Id] 

我需要做不同的事情得到一個結果?

希望有一個簡單的答案....是我新在這個:)

+0

我們應該如何知道什麼是在你的數據庫?我們不知道tblMaterial的內容 – Robert

+1

您正在從'tblMaterial'而不是'tblTask​​'中選擇,所以'[tblTask​​]。[Id]'應該是未知的。你得到一個錯誤。 –

+2

請加入您的表tblMaterial和tblTask​​ –

回答

0

您需要用兩個表中選擇或不JOIN

選擇選項:

SELECT SUM(Amount * InPrice) AS TotalItemsOrdered 
FROM [tblMaterial], [tblTask] 
WHERE [tblMaterial].[OwnerId] = [tblTask].[Id] 

加盟選項:

SELECT SUM(Amount * InPrice) AS TotalItemsOrdered 
FROM [tblMaterial] 
INNER JOIN [tblTask] ON [tblMaterial].[OwnerId] = [tblTask].[Id] 

您可能還需要前綴SUM函數列與表名,如果他們發生在兩個表中。

在這裏,你可以閱讀更多有關SQL連接:

+0

謝謝,你所有的答案都可以,但是我得到了洞數據庫中的所有數據。我希望當我在節目中執行時,從當前ID中獲得總和...我認爲這對我來說很重要。但是,謝謝大家! – Kristoffer

+0

@Kristoffer,如果你想每個OwnerId的總和? ,你可以把'GROUP BY tblMaterial.OwnerId' – Japongskie

0

的tblTask​​是從您選擇失蹤。

試試這個:

SELECT SUM(Amount * InPrice) AS TotalItemsOrdered 
FROM tblMaterial, tblTask 
WHERE tblMaterial.OwnerId = tblTask.Id 

或者使用聯接:

SELECT SUM(Amount * InPrice) AS TotalItemsOrdered 
FROM tblMaterial 
INNER JOIN tblTask 
ON tblMaterial.OwnerId = tblTask.Id 
+0

這與我的答案有什麼不同? – Robert

+0

謝謝,你所有的答案都可以,但是我得到了洞數據庫中的所有數據。我希望當我在節目中執行時,從當前ID中獲得總和...我認爲這對我來說很重要。但是,謝謝大家! – Kristoffer

0

只要把GROUP BY如果你想SUMID

SELECT tblMaterial.OwnerId 
    , SUM(Amount * InPrice) AS TotalItemsOrdered 
FROM tblMaterial INNER JOIN tblTask ON tblMaterial.OwnerId = tblTask.Id 
GROUP BY tblMaterial.OwnerId