2013-11-27 75 views
1

這是我的SQL查詢,它根據條件將值x和y相乘,但僅限於一行。如何總結每列兩列的乘積

SELECT x * y FROM bedrooms As TotalCapacity WHERE [email protected] AND [email protected]

可我知道這應該如何改進通過排走行?

謝謝你的時間。

編輯:可以說這個查詢的結果是4行。每行都有X和Y值,所以我需要對行1 + X * Y對於行2 + X * Y對於行3做X * Y.

對不起,在第一時間不清楚。

首先臥室X(2)Y(10)= 20

二臥室X(3)Y(5)= 15

期望的結果= 35

+4

針對所有記錄運行'x * y'刪除WHERE子句 – Linger

+1

嗯,它已經這樣做了(除非您的謂詞太窄) – Kermit

+1

請嘗試解釋您想要的更多詳細信息 –

回答

5

你只需要

SELECT SUM(x * y) AS TotalCapacity 
FROM bedrooms 
+0

對不起,這是主題,但是當我在c#中使用ExecuteScalar時,它只做第一行。 – Marek

+2

這就是ExecuteScalar的功能。 [返回第一行的第一列](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar(v = vs.110).aspx)使用'ExecuteReader'循環多行。無論如何,這個查詢只返回一列和一行。 –

+0

@Marek - 沒有我的答案中的查詢不。它將表中所有行的單個容量相加,並將總數表示爲單個值。 [SQL在提問中提供數據](http://www.sqlfiddle.com/#!6/51a56/1) –