2011-06-14 5 views
1

는 나는이SQL 서버 쿼리

ID BarID FName LName ColA ColB ColC 

1 22 Jon Carr 0 2 1 
2 23 Don Brown 3 4 4 
4 24 A  B  3 7 5 

최근 3 열처럼 무언가로이 테이블을 변환 할 (ColA ColB ColC를)

ID BarID FName LName ColA ColB ColC 

1 22 Jon Carr 0 2 1 
2 23 Don Brown 1 3 2 
3 23 Don Brown 2 1 2 
4 24 A  B  0 2 1 
5 24 A  B  2 3 1 
6 24 A  B  1 2 3 

테이블 이름 값으로 테이블을 Temp

되어 있습니다 중복 행 (중복 BarID)이 요약됩니다 (합계)

이 작업을 수행하려면 어떤 sql 쿼리를 SQL Server에 작성할 수 있습니까?

+1

우리 모두는 마감 시간이 있으며 우리는 모두 무료입니다. 긴급하다고 우리에게 말하면 당신을 도울 수 없습니다. –

+1

주어진'BarID'에 대해'FName'과'LName' 값이 모두 같다고 가정합니까? –

+0

이 사이트의 작동 방식에 유의하십시오. http://meta.stackexchange.com/q/7237/27535 – gbn

답변

0
SELECT 
    MIN(ID), BarID, FName, LName, SUM(ColA), SUM(ColB), SUM(ColC) 
FROM 
    Temp 
GROUP BY 
    BarID, FName, LName 
+0

고마워요 :) – user680865

4

당신은 GROUP BY 절 꽤 간단해야

SELECT 
    min(id) AS ID, 
    BarID, 
    FName, 
    LName, 
    sum(ColA) AS ColA, 
    sum(ColB) AS ColB, 
    sum(ColC) AS ColC 
FROM 
    Temp 
GROUP BY 
    BarID, FName, LName 
+0

모든 대답은 정확하지만 여기에는 세부 정보가 포함되어 있습니다. 올바른 열 별칭이 포함되어 있습니다. –

+0

+1 쿼리 프레임 및 – Pankaj

+0

사용 감사합니다 :) – user680865

0

은 GROUP BY를 사용해야합니다 :

SELECT 
    MIN(ID) AS 'ID', 
    BarID, FName, LName, 
    SUM(ColA) AS 'ColA', 
    SUM(ColB) AS 'ColB', 
    SUM(ColC) AS 'ColC' 
FROM dbo.Temp 
GROUP BY BarID, FName, LName 

이에 의해 열 A, B, 그리고 C 및 그룹을 요약 BarID, FName, LName

+0

고마워요 작품 :) – user680865