2014-09-02 54 views
0

考慮以下的輸出:合併多行到1

ObjectNumber Field1 Field2 Field3 
------------------------------------ 
     1   1  0  0 
     1   0  0  1 
     2   0  0  0 
     2   1  0  0 
     2   0  1  1 

我需要「合併」這些行到每ObjectNumber 1行。假設

  1. 所有字段要麼01作爲值和每ObjectNumber
  2. 只有一個1每場

預期的輸出是增加了所有的字段:

ObjectNumber Field1 Field2 Field3 
------------------------------------ 
     1   1  0  1 
     2   1  1  1 

這怎麼辦?

+0

是它試圖輸出的總和由ObjectNumber每一個列組? – 2014-09-02 12:42:09

回答

1

在這種情況下,兩個MAX()EN總和()的工作,但總和()似乎更合適,因爲你說的那個輸出「加起來所有的領域'。

SELECT ObjectNumber, 
     sum(Field1) AS Field1, 
     sum(Field2) AS Field2, 
     sum(Field3) AS Field3 
FROM youroutput t 
GROUP BY ObjectNumber; 
1

只需使用聚合查詢與max()

select ObjectNumber, max(Field1) as Field1, max(Field2) as Field2, max(Field3) as Field3 
from youroutput t 
group by ObjectNumber; 
1

由於這是需要添加漲多少,我們可能必須使用和

Select objectnumber, 
     Sum(field1) as field1, 
     Sum(field2) as field2, 
     Sum(field3) as field3 
From product 
Group by objectnumber