Главная страница
    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.46 MB
Время: 0.005 c
6-1195152089
Crystalis
2007-11-15 21:41
2008.11.16
как узнать SourcePort TIdUDPClientа ?


9-1154513135
@!!ex
2006-08-02 14:05
2008.11.16
Можно ли реализовать Bump без использования шейдеров?


2-1223369428
JustI
2008-10-07 12:50
2008.11.16
RowsAffected


2-1223449935
JustI
2008-10-08 11:12
2008.11.16
TLargeIntField


13-1122384993
Середкин
2005-07-26 17:36
2008.11.16
Динамическая разработка шаблонов серверных элементов управления





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский