Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - SQL 2005 Помогите выполнить UpDate

Ответить
Настройки темы
MSFT SQL Server - SQL 2005 Помогите выполнить UpDate

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть две таблицы Т1 и Т2 , в обоих имеются поля ID_1, ID_2, ID_3. Значения первых двух полей одинаковые, в ID_3 есть расхождения. Надо заменить Т1.ID_3 на T2.ID_3 при условии, что T1.ID_1 = T2.ID_1 и T1.ID_2 = T2.ID_2 а T1.ID_3<>T2.ID_3
База рабочая

Отправлено: 11:41, 26-06-2010

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


UPDATE T1
SET t1.ID_3 = t2.ID_3
FROM T1 t1, T2 t2
WHERE t1.ID_1 = t2.ID_1 and t1.ID_2 = t2.ID_2 and t1.ID_3<>t2.ID_3

Цитата konstantin80:
База рабочая »
Сделайте выгрузку двух таблиц в тот же Access и тестируйте.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 17:34, 26-06-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


пробовал вот так

UPDATE history
SET history_1.id_razdel = packets_1.id_razdel
from history as history_1, packets as packets_1
WHERE month(history.date_beg)=3 and day(history.date_beg)=10
And (history.id_key) = (packets.id_key)
And (history.id_operator)=(packets.id_operator_b)
And (history.id_razdel)<>(packets.id_razdel)

где history = T1, packets = T2, ID_1 = ID_key, ID_2 = ID_operator ID_3 = ID_razdel
в access проходит на Ура, а в SQL пишет,

"Сообщение 4104, уровень 16, состояние 1, строка 2
Не удалось привязать составной идентификатор "history.date_beg".
Сообщение 4104, уровень 16, состояние 1, строка 2
Не удалось привязать составной идентификатор "history.date_beg".
Сообщение 4104, уровень 16, состояние 1, строка 2
Не удалось привязать составной идентификатор "history.id_key".
Сообщение 4104, уровень 16, состояние 1, строка 2
Не удалось привязать составной идентификатор "packets.id_key".
Сообщение 4104, уровень 16, состояние 1, строка 2
Не удалось привязать составной идентификатор "history.id_operator".
Сообщение 4104, уровень 16, состояние 1, строка 2
Не удалось привязать составной идентификатор "packets.id_operator_b".
Сообщение 4104, уровень 16, состояние 1, строка 2
Не удалось привязать составной идентификатор "history.id_razdel".
Сообщение 4104, уровень 16, состояние 1, строка 2
Не удалось привязать составной идентификатор "packets.id_razdel".
"
Где моя ошибка???

что такое t1, t2? Псевдонимы?

Последний раз редактировалось konstantin80, 28-06-2010 в 09:15.


Отправлено: 09:04, 28-06-2010 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата konstantin80:
from history as history_1, packets as packets_1 »
AS - Лишний оператор. он применяет только при назначении синонимов полям. Пиши просто
Код: Выделить весь код
from history  history_1, packets  packets_1
Цитата konstantin80:
что такое t1, t2? Псевдонимы? »
Да, псевдонимы. Приведенный мною код точно работает на SQL сервере

Цитата konstantin80:
UPDATE history
SET history_1.id_razdel = packets_1.id_razdel
from history as history_1, packets as packets_1
WHERE month(history.date_beg)=3 and day(history.date_beg)=10
And (history.id_key) = (packets.id_key)
And (history.id_operator)=(packets.id_operator_b)
And (history.id_razdel)<>(packets.id_razdel) »
Если уж используются псевдонимы history_1 и packets_1, то и в условиях WHERE применяй псевдонимы. Либо не используй их вообще, они нужны только для сокращения записи )

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 17:26, 28-06-2010 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - SQL 2005 Помогите выполнить UpDate

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSFT SQL Server - Переход с SQL 2005 (Express) на SQL 2008 (Enterprise) Diesel315 Программирование и базы данных 4 13-01-2010 01:05
Разное - [решено] *SQL* | MS SQL-2005 как узнать зависимые таблицы pva Программирование и базы данных 1 21-09-2009 10:55
MSFT SQL Server - Помогите выбрать MS SQL 2005 или 2008 (+) Keitaro Программирование и базы данных 3 08-05-2009 15:32
MSFT SQL Server - Подскажите что лучше ставить SQL 2000 или SQL 2005 на Server 2003 ForGroin Программирование и базы данных 6 23-03-2008 20:54
MSFT SQL Server - C SQL 2000 на SQL 2005 Lord_@lex Программирование и базы данных 1 19-03-2008 16:17




 
Переход