powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / SELECT как посчитать сумму из таблицы с составным ключом, где ключ повторяется
7 сообщений из 7, страница 1 из 1
SELECT как посчитать сумму из таблицы с составным ключом, где ключ повторяется
    #37986712
sysinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица Стоимость
Код ОС | Первоначальная стоимость |Текущая (первоначальная + сумма обслуживания)
1 | 200 | первоначальная + СуммаОбслуживания где
встречается код ос )
2 | 100 | первоначальная + СуммаОбслуживания где
встречаются код ос )

Таблица Обслуживание
Код Обслуживания| Код ОС |СуммаОбслуживания
1 | 1 | 100
2 | 2 | 30
3 | 2 | 20
4 | 1 | 10
Declare @@summa money
SET select @@summa = sum(Обслуживание.суммаобслуживания) from Обслуживание inner join Стоимость on Стоимость.Код ОС = Обслуживание.Код ОС
group by Стоимость.Код ОС

сумму считает для 2ого ОС (50 прибавляет)


Пробывала курсором

Declare @@summa money;
Declare curs1 Cursor dynamic read_only for
select sum(Обслуживание.суммаобслуживания) from Обслуживание inner join Стоимость on Стоимость.Код ОС = Обслуживание.Код ОС
group by Стоимость.Код ОС
open curs1

fetch next from curs1 into @@summa
считает сумму только для 1ого Кода ОС (100+10) и прибавляет её для всех


UPDATE Стоимость = Стоимость.первоначальная +@@summa
...
Рейтинг: 0 / 0
SELECT как посчитать сумму из таблицы с составным ключом, где ключ повторяется
    #37986716
sysinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UPDATE Стоимость
SET Стоимость.текущая =стоимость.первоначальная+@@summa
...
Рейтинг: 0 / 0
SELECT как посчитать сумму из таблицы с составным ключом, где ключ повторяется
    #37986845
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SET select sum(Обслуживание.суммаобслуживания), Стоимость.Код ОС from Обслуживание inner join Стоимость on Стоимость.Код ОС = Обслуживание.Код ОС 
group by Стоимость.Код ОС

fetch next from curs1 into @@summa, @@codos;

WHILE @@FETCH_STATUS = 0
BEGIN

	UPDATE Стоимость SET Стоимость = Стоимость.первоначальная +@@summa
        WHERE Код ОС= @@codos;
	
	fetch next from curs1 into @@summa;
END



Как-то так штоле (10 лет в гуголе), хотя можно и в 1 запрос написать.

P.S. проб ы вал пишется через о . Это важно.
...
Рейтинг: 0 / 0
SELECT как посчитать сумму из таблицы с составным ключом, где ключ повторяется
    #37986846
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну там и во втором fetch тоже
Код: sql
1.
fetch next from curs1 into @@summa, @@codos
...
Рейтинг: 0 / 0
SELECT как посчитать сумму из таблицы с составным ключом, где ключ повторяется
    #37986962
sysinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое,все помогло!)
...
Рейтинг: 0 / 0
SELECT как посчитать сумму из таблицы с составным ключом, где ключ повторяется
    #37988288
sysinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лагман,

курсор работает если есть данные в таблице Обслуживание, а если там нет данных то в строке ставиться NULL
как сделать чтобы если нет данных в @@summa вводился 0?
...
Рейтинг: 0 / 0
SELECT как посчитать сумму из таблицы с составным ключом, где ключ повторяется
    #37988350
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysinka,

Почитайте какую-нибудь книжку по SQL (хотя бы половину её :) ), будет более-менее понятно что как писать.
Из нулла сделать ноль можно с помощью coalesce.
А вообще эту тему надо переместить в MS SQL.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / SELECT как посчитать сумму из таблицы с составным ключом, где ключ повторяется
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]