powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / перебор элементов
7 сообщений из 7, страница 1 из 1
перебор элементов
    #37847035
Zasalamel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
допустим есть выборка элементов из таблицы1(idcomp,idobject,amount)
Код: sql
1.
2.
select idobject, amount from таблица1
where idcomp = 1



нужно теперь увеличить значение amount в таблице1 на значение amount из выборки для соответсвующего кода предмета idobject.

ну то есть по сути как я понимаю нужно
последовательно брать элемент(idobject,amount) из выборки и во всей таблице1 увеличить значение amount для каждого объекта с idobject.

Ну как это сделать в SQL?
...
Рейтинг: 0 / 0
перебор элементов
    #37847067
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zasalamel,

Код: sql
1.
2.
3.
4.
5.
UPDATE t
	SET amount += t2.amount
FROM MyTable t
JOIN MyTable t2 ON t2.idobject = t.idobject
WHERE t2.idcomp = 1
...
Рейтинг: 0 / 0
перебор элементов
    #37847101
Zasalamel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShakillZasalamel,

Код: sql
1.
2.
3.
4.
5.
UPDATE t
	SET amount += t2.amount
FROM MyTable t
JOIN MyTable t2 ON t2.idobject = t.idobject
WHERE t2.idcomp = 1



в данном случае оно увеличит лишь для idcomp = 1. а надо чтобы для всех idcomp
Ну то есть в таблице1
idcomp1 idobject amount
idcomp2 idobject1 amount
idcomp3 idobject2 amoun
...
Рейтинг: 0 / 0
перебор элементов
    #37847105
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zasalamelв данном случае оно увеличит лишь для idcomp = 1. а надо чтобы для всех idcomp
вы это проверили?
...
Рейтинг: 0 / 0
перебор элементов
    #37847126
Zasalamel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shakill,

да


ну вот что получилось у меня на основе вашего. вроде правильно работает теперь
Код: sql
1.
2.
3.
4.
5.
update A
set amount += B.amount
from Mytable1 as A, ( select idobject, amount from запасы
					 where idcomp = 1) as B
where A.idobject = B.idobject and /*A.idcomp<>1* ну что бы для самого себя не изменяла/
...
Рейтинг: 0 / 0
перебор элементов
    #37847144
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zasalamel, вообще-то ваш скрипт делает то же самое что и мой
конечно же, если таблицы [MyTable1] и [запасы] - это одна и та же таблица
...
Рейтинг: 0 / 0
перебор элементов
    #37847157
Zasalamel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShakillZasalamel, вообще-то ваш скрипт делает то же самое что и мой
конечно же, если таблицы [MyTable1] и [запасы] - это одна и та же таблица

одна и та же таблица.

хм.странно.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / перебор элементов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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