|
|
|
| Имеются 2 таблицы. Условно говоря Tab1 и Tab2 ,в каждой из них есть по два столбца(например T1 и T2), поля которых типо как должины совпадать. и в первой и во второй таблицах первые столбцы заполнены, а второй столбец заполнен только во второй таблице. Ну вот собственно говоря, по совпадающим полям Столбцов Т1 из первой и второй таблиц надо обновить Т2 первой таблицы ,чтобы поля были как в Т2). Помогите с синтаксисом).
Пробовал вот так:
UPDATE Tab1
SET Tab1.T2 = Tab2.T2
From Tab2
WHERE Tab2.T1=Tab1.T1;
Ругается на From, а если без него, то ничего не обновляется. | |
|
| |
|
|
|
|
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;
|
| |
|
| |
|
|
|
| можете так еще попробовать
UPDATE Tab1
SET Tab1.T2 = (select ditinctrow Tab2.T2 from Tab2 WHERE Tab2.T1=Tab1.T1)
From Tab1;
|
еси связь однозначная, то ditinctrow не надо | |
|
| |