![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Antrisol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.3.2006 Репутация: нет Всего: нет |
Добрый день.
Есть таблица test: --------------------- id a b k --------------------- 21 1 2 1 22 1 3 1 23 1 4 1 24 1 5 1 25 1 6 1 26 1 7 1 27 1 8 1 28 1 9 1 ----------------------- Пишу запрос: update test a, test b set b.a = a.id, a.k = a.id where a.a = b.a and a.b < b.b И получаю такой результат: ---------------------- id a b k ---------------------- 21 1 2 21 22 21 3 22 23 21 4 23 24 21 5 24 25 21 6 25 26 21 7 26 27 21 8 27 28 21 9 1 ---------------------- По всем моим ожиданиям, в последней строке должны были появиться 21. Пожалуйста помогите понять как происходит изменение. Это сообщение отредактировал(а) Antrisol - 19.10.2007, 08:04 |
|||
|
||||
mzalutski |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 22.12.2006 Где: Волгоград Репутация: нет Всего: нет |
Хитрый запрос у вас. А что алиасы к таблицам совпадающие с полями это что бы запутать врага?
И вообще откуда такая задача возникает? |
|||
|
||||
Antrisol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.3.2006 Репутация: нет Всего: нет |
Это тестовый вариант, и что первое на ум пришло, так и обозвал =)
а, b это интервал, к - количество , нужно избавиться от пересечения, с хитрым суммированием. В процессе экспериментов выяснил, что если таблица упорядочена как надо, от пересечения избавляемся одним запросом. Хотел чтобы и хитрое суммирование проводилось в нём же, но что то не выходило. Решил проверить, как подставляются значения, и увидел, что по полю "a" так, а по полю "к" иначе. На данный момент над этим уже не думаю. Решил реализовывать с помощью функций и курсора. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |