2012-09-06 68 views
0

我與一個外包開發的數據庫工作,SQL Server的查詢 - 從兩列

他們給了兩列四個結果 - 作爲一個例子

Charge Value 
Test 0.23 
Jop 0.10 
Bob 0.15 

好吧,我要查詢的表,以便我從這兩列獲得以下輸出。

Charge Value Bob Value Total 
Test 0.23 0.15  0.38 

這些顯然通過主鍵鏈接在一起。所以我想用兩列來表示四列中的數據。我只是想知道這是否可能,或者我必須執行多個查詢。

希望是足夠的信息!

+0

是您的結果例如是否正確? Jop的得分在哪裏? – gotqn

+0

@Joro這只是一個例子,所以我可以做一個充電的原因,所以它只包含'測試',但也顯示了鮑勃值,以及這兩個值的總和。 –

+0

我的意思是你的例子是誤導性的(不合邏輯的)。爲了得到一些幫助,你需要糾正它。在你的輸出結果中沒有任何意義 - Charge-Value-Bob-Value-Total ...你的意思是結果列需要是Test-Jop-Bob和Total? – gotqn

回答

1

您可以有條件聚集做到這一點:

select 'Test' as Charge, 
     max(case when t.charge = 'Test' then value end) as Value, 
     max(case when t.charge = 'Bob' then value end) as "Bob Value", 
     sum(case when t.charge in ('Test', 'Bob') then value end) as Total 
from t 
+0

非常感謝!很高興你明白我的問題。 –