Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.16;
Скачать: CL | DM;

Вниз

Вопрос по обновлению данных   Найти похожие ветки 

 
AlekseyB   (2008-10-08 06:51) [0]

Есть табличка, которую необходимо обновить. Т.е. смысл такой, есть несколько записей, с одним одинаковым полем, т.е.

Агабаков        12        45      0      0     5      7      Ахмат
Буров             8          5       10    20    5      0     Ахмат

Необходимо просуммировать поля, т.е. должно получиться вот так ?

Агабаков        20        50      10     20    10      7      Ахмат
Буров             20        50      10     20    10      7     Ахмат

Подскажите, мастера, как такое реализовать ???


 
Василий Жогарев ©   (2008-10-08 07:45) [1]

DECLARE
 @Column1 int, @Column2 int, @Column3 int, @Column4 int, @Column5 int, @Column6 int

SELECT @Column1 = SUM(Column1), @Column2 = SUM(Column2), @Column3 = SUM(Column3), @Column4 = SUM(Column4), @Column5 = SUM(Column5), @Column6 = SUM(Column6)
FROM Table_3

UPDATE Table_3
SET Column1 = @Column1, Column2 = @Column2, Column3 = @Column3, Column4 = @Column4, Column5 = @Column5, Column6 = @Column6


_________________________________________________________________
WinXP, MS SQL 2005


 
AlekseyB   (2008-10-08 08:45) [2]


> Василий Жогарев ©   (08.10.08 07:45) [1]


Ну вроде разобрался, а если там есть еще записи, например

Агабаков        12        45      0      0     5      7      Ахмат
Буров             8          5       10    20    5      0     Ахмат
Иванов           10         0       10    20   10     0     Каспер
Сидоров          0           5       15    0     5      10    Каспер

Нужно получить :

Агабаков        20        50      10     20    10      7      Ахмат
Буров             20        50      10     20    10      7     Ахмат
Иванов           10         5       25    20     15      10     Каспер
Сидоров          10         5      25     20     15      10    Каспер


 
Василий Жогарев ©   (2008-10-08 08:48) [3]


> AlekseyB   (08.10.08 08:45) [2]

WHERE


 
AlekseyB   (2008-10-08 09:17) [4]


> WHERE


Делаю вот так, ошибки не выдает, но все данные обнуляет, т.е. присваивает значение null. В чем загвоздка ?
DECLARE
@_1 float, @_2 float, @_3 float, @_4 float, @_5 float, @_6 float,
@_7 float, @_8 float, @_9 float, @_10 float, @_11 float, @_12 float, @_Itog float, @_New_Kr varchar(8)

SELECT @_1 = SUM(_1), @_2 = SUM(_2), @_3 = SUM(_3), @_4 = SUM(_4), @_5 = SUM(_5), @_6 = SUM(_6),
      @_7 = SUM(_7), @_8 = SUM(_8), @_9 = SUM(_9), @_10 = SUM(_10), @_11 = SUM(_11), @_12 = SUM(_12), @_Itog = SUM(_Itog)
FROM L_pr..KontaktMove where @_New_Kr = _New_Kr

UPDATE L_pr..KontaktMove
SET  _1 = @_1,_2 = @_2,_3 = @_3,_4 = @_4,_5 = @_5,_6 = @_6,_7 = @_7,_8 = @_8,_9 = @_9,_10 = @_10,_11 = @_11,_12 = @_12,_Itog = @_Itog


 
Василий Жогарев ©   (2008-10-08 09:21) [5]

DECLARE
@_1 float, @_2 float, @_3 float, @_4 float, @_5 float, @_6 float,
@_7 float, @_8 float, @_9 float, @_10 float, @_11 float, @_12 float, @_Itog float, @_New_Kr varchar(8)

SELECT @_1 = SUM(_1), @_2 = SUM(_2), @_3 = SUM(_3), @_4 = SUM(_4), @_5 = SUM(_5), @_6 = SUM(_6),
     @_7 = SUM(_7), @_8 = SUM(_8), @_9 = SUM(_9), @_10 = SUM(_10), @_11 = SUM(_11), @_12 = SUM(_12), @_Itog = SUM(_Itog)
FROM L_pr..KontaktMove where @_New_Kr = _New_Kr

UPDATE L_pr..KontaktMove
SET  _1 = @_1,_2 = @_2,_3 = @_3,_4 = @_4,_5 = @_5,_6 = @_6,_7 = @_7,_8 = @_8,_9 = @_9,_10 = @_10,_11 = @_11,_12 = @_12,_Itog = @_Itog
where @_New_Kr = _New_Kr


А вообще, значит запрос
SELECT @_1 = SUM(_1), @_2 = SUM(_2), @_3 = SUM(_3), @_4 = SUM(_4), @_5 = SUM(_5), @_6 = SUM(_6),
     @_7 = SUM(_7), @_8 = SUM(_8), @_9 = SUM(_9), @_10 = SUM(_10), @_11 = SUM(_11), @_12 = SUM(_12), @_Itog = SUM(_Itog)
FROM L_pr..KontaktMove where @_New_Kr = _New_Kr

при условии
where @_New_Kr = _New_Kr
не возвращает набора данных...


 
AlekseyB   (2008-10-08 09:30) [6]


> не возвращает набора данных...


да, действительно не возвращает, а какое тогда условие то можно поставить ? Мне ведь как раз по этому полю и надо отбор делать, т.е. суммировать


 
Василий Жогарев ©   (2008-10-08 09:37) [7]


> AlekseyB   (08.10.08 09:30) [6]
>
> > не возвращает набора данных...
>
>
> да, действительно не возвращает, а какое тогда условие то
> можно поставить ? Мне ведь как раз по этому полю и надо
> отбор делать, т.е. суммировать


Ставь корректное условие...



Страницы: 1 вся ветка

Текущий архив: 2008.11.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
8-1187856879
Blind Guardian
2007-08-23 12:14
2008.11.16
Генерирование файла для последующего чтения в 3ds max


4-1200305464
Magedon
2008-01-14 13:11
2008.11.16
Как запустить приложение от имени друго пользователя но...


8-1187769846
ZMRaven
2007-08-22 12:04
2008.11.16
Поганое изображение.


15-1221641107
pushkin42
2008-09-17 12:45
2008.11.16
Вопрос по развертыванию


15-1221743165
oldman
2008-09-18 17:06
2008.11.16
Возникла необходимость поймать "крысу"...