2017-02-23 213 views
0

的變化值我如何組值,改變其中的一個時,有不止一個SQL和與集團通過

Table 
ID | VALUE | NAME 
1 | 2 | John 
1 | 5 | Carl 
2 | 4 | Elis 
2 | 1 | Ted 
3 | 2 | James 


RESULT 

ID | VALUE | NAME 
1 | 7 | * 
2 | 5 | * 
3 | 2 | James 

回答

2

下面是應該在任何數據庫工作的一種方式:

select id, sum(value) as value, 
     (case when min(name) = max(name) then min(name) else '*' end) as name 
from t 
group by id; 
+0

它的工作就像一個魅力,謝謝! –

0

這是別人詢問你必須嘗試

Select ID, sum(Value) Value, NAME = (Select b.Name + ' ' AS [text()] 
      From dbo.test b 
      Where a.ID = b.ID 
      ORDER BY a.ID 
      For XML PATH ('')) 
from test a 
group by ID 
order by ID