Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу понять как работает, Запрос на обновление 
:(
    Опции темы
Antrisol
Дата 19.10.2007, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
mzalutski
Дата 19.10.2007, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.12.2006
Где: Волгоград

Репутация: нет
Всего: нет



Хитрый запрос у вас. А что алиасы к таблицам совпадающие с полями это что бы запутать врага?
И вообще откуда такая задача возникает?
PM MAIL ICQ   Вверх
Antrisol
Дата 23.10.2007, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 9.3.2006

Репутация: нет
Всего: нет



Это тестовый вариант, и что первое на ум пришло, так и обозвал =)

а,  b это интервал, к - количество ,
 нужно избавиться от пересечения,  с хитрым суммированием. 
В процессе экспериментов выяснил, что если таблица упорядочена как надо, от пересечения избавляемся  одним запросом. Хотел чтобы и хитрое суммирование проводилось в нём же, но что то не выходило. Решил проверить, как подставляются значения, и увидел, что по полю "a" так, а по полю "к" иначе.  


На данный момент над этим уже не думаю. Решил реализовывать с помощью функций и курсора. 




PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0669 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.