Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Головоломка / 4 сообщений из 4, страница 1 из 1
07.09.2001, 15:58
    #32013682
Константи
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Головоломка
Я терпеть не могу курсоры. Может быть это паталогия, но...

Как жаль, что нельзя написать

Update A
set A_field=max(B_field)
from B
where A.FieldID=B.FieldID

С курсорами все это реализуется просто. А без курсоров?

Для знатоков. А без # можно сделать? Я не знаю.
...
Рейтинг: 0 / 0
07.09.2001, 17:32
    #32013683
Alexander Chepack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Головоломка
update A
set A.A_Field=BQuery.MaxB_Field
from A, (select FieldID, max(B_Field) as MaxB_Field from B group by FieldId) as BQuery
where A.FieldID=BQuery.FieldID


Наверняка изящнее переписать можно ....
Хотя - может задачу я не понял - если есть MAX, то должен быть и group by?
...
Рейтинг: 0 / 0
07.09.2001, 17:47
    #32013685
Alexander Chepack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Головоломка
Update A
set A_field=(select max(B_field) from B where A.FieldID=B.FieldID)
...
Рейтинг: 0 / 0
08.09.2001, 12:39
    #32013700
Головоломка
Большое спасибо всем прочитавшим и задумавшимся.

Alexander Chepack - работают оба варианта. Спасибо.

Как всегда прошу прошения за провокацию и дачу ложных следов.
Но, по-моему, такие вопросы и ответы помогают начинаюшим, а если
Вы зашли на это форум, то значит Вы согласны не только потреблять,
но и делится опытом.
Не все знают типовые решения и надо помогать людям.
Может быть задача была слишком простой?
В следующий раз придумаю посложней.
(О двойных записях)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Головоломка / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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