Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с запросом на обновление  [new]
_Вопрошающий
Guest
Доброго дня.
Есть три таблички
DAYCALLS - звонки, где есть поля KREKL - код рекламы, PUNIC - номер заказа
CLIENTS - клиенты, где есть поля KREKL - код рекламы, KNAME - наименование клиента
LISTPRJ - заказы, где есть поля PUNIC - номер заказа, KNAME - наименование клиента
Надо проапдейтить поле KREKL в таблице DAYCALLS по какой рекламе было обращение по каждому заказу.
Написал вот так:
Update DAYCALLS D
SET D.KREKL =
(Select C.KREKL
From CLIENTS C Inner Join LISTPRJ L
     On L.KNAME = C.KNAME
Where L.PUNIC = D.PUNIC)
Но чтото ничего не обновляет ;( Как это правильно написать?
28 май 09, 12:34    [7238850]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом на обновление  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Зачем в таблице DAYCALLS появилось поле KREKL ?
Его же всегда можно вычислить исходя из данных таблиц клиентов и заказов
(по крайней мере, из Вашего update-а я понял именно так)
Зачем тогда его хранить ?
28 май 09, 12:41    [7238910]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом на обновление  [new]
Glory
Member

Откуда:
Сообщений: 104760
Update  D
SET KREKL = C.KREKL
FROM DAYCALLS D
Inner Join LISTPRJ L ON L.PUNIC = D.PUNIC
INNER JOIN From CLIENTS C On L.KNAME = C.KNAME
28 май 09, 12:41    [7238917]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом на обновление  [new]
_Вопрошающий
Guest
Вот я олень!!
Не подтвердил транзакцию. Запрос работает.
Паганель
Зачем тогда его хранить ?

В DAYCALLS могут быть свободные звонки, не приадлежащие ни одному заказу
28 май 09, 12:45    [7238950]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом на обновление  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
а что будет если код рекламы в таблице DAYCALLS хранится один,
а исходя из данных таблиц клиентов и заказов для этого же звонка получается другой
какой тогда правильный ?
28 май 09, 12:49    [7238983]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом на обновление  [new]
_Вопрошающий
Guest
Паганель
а что будет если код рекламы в таблице DAYCALLS хранится один,
а исходя из данных таблиц клиентов и заказов для этого же звонка получается другой
какой тогда правильный ?

Ну а как тогда фиксировать свободные звонки? Просто поле рекламы полученое автоматически при формировании заказа в сетке на клиенте не редактируется. Я так это вижу.
28 май 09, 12:54    [7239023]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом на обновление  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
_Вопрошающий
Ну а как тогда
Немножко не там спрашиваете
рекомендую обратиться в форум Проектирование БД с просьбой помочь Вам исправить модель БД

(это не так чтобы я умываю руки, просто там действительно знающие это дело люди,
и они действительно помогут)
28 май 09, 12:58    [7239057]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить