Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с UPDATE (2007)
 
 автор: satan   (29.04.2011 в 14:08)   личное сообщение
 
 

Имеются 2 таблицы. Условно говоря Tab1 и Tab2 ,в каждой из них есть по два столбца(например T1 и T2), поля которых типо как должины совпадать. и в первой и во второй таблицах первые столбцы заполнены, а второй столбец заполнен только во второй таблице. Ну вот собственно говоря, по совпадающим полям Столбцов Т1 из первой и второй таблиц надо обновить Т2 первой таблицы ,чтобы поля были как в Т2). Помогите с синтаксисом).
Пробовал вот так:

UPDATE Tab1
SET Tab1.T2 = Tab2.T2
From Tab2
WHERE Tab2.T1=Tab1.T1;
Ругается на From, а если без него, то ничего не обновляется.

  Ответить  
 
 автор: Анатолий (Киев)   (29.04.2011 в 14:39)   личное сообщение
 
 


UPDATE Tab1
SET Tab1.T2 = Tab2.T2
From Tab1, Tab2 
WHERE Tab2.T1=Tab1.T1;

или

UPDATE Tab1
SET Tab1.T2 = Tab2.T2
From Tab1 INNER JOIN Tab2  ON  Tab2.T1=Tab1.T1;

Но оба варианта будут работать только если поле Tab1.T1 имеет уникальный индекс.
Так будет работать медленнее но всегда:

UPDATE Tab1
SET Tab1.T2 = DLookup("T2", "Tab2", "T1=" & Tab1.T1)
From Tab1;

  Ответить  
 
 автор: Силblч   (29.04.2011 в 14:45)   личное сообщение
 
 

можете так еще попробовать

UPDATE Tab1
SET Tab1.T2 = (select ditinctrow Tab2.T2 from Tab2  WHERE Tab2.T1=Tab1.T1)
From Tab1; 

еси связь однозначная, то ditinctrow не надо

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList