SQL Server запрос - PullRequest
       1

SQL Server запрос

1 голос
/ 14 июня 2011

У меня есть таблица со значениями

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

Я хочу преобразовать эту таблицу во что-то вроде этого

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) повторяющихся строк (дубликаты BarID) суммируются (суммирование)

Какой запрос SQL я могу написать на сервере SQL для достижения этой цели?

Ответы [ 3 ]

4 голосов
/ 14 июня 2011

Вам необходимо использовать 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 голосов
/ 14 июня 2011
SELECT
   MIN(ID), BarID, FName, LName, SUM(ColA), SUM(ColB), SUM(ColC)
FROM
   Temp
GROUP BY
   BarID, FName, LName
0 голосов
/ 14 июня 2011

Должно быть довольно просто с предложением 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...