Вниз
Скачать: CL | DM;

UPDATE дной таблице по друго с использованием SQL   Найти похожие ветки 

← →
Виталий Панасенко   (2002-06-11 08:47) [0]

Есть две таблицы Т1 и Т2 одинаковой структуры (ID, NAME). Как при помощи SQL ОБНОВИТЬ Т1.Name по T2.Namу, связав эти таблицы по ID ? Спасибо ...


← →
Johnmen ©   (2002-06-11 09:04) [1]

Никак....


← →
VAleksey ©   (2002-06-11 09:09) [2]

Почему никак?

SET T1.Name=T2.Name
Where T1.Id = T2.Id

раве не так ?


← →
Johnmen ©   (2002-06-11 09:19) [3]

>VAleksey © (11.06.02 09:09)

А полностью попробуй напиши ... :))))))))))


← →
Zemal ©   (2002-06-11 09:45) [4]

Можно и вот так к примеру:

UPDATE T1
SET T1.name = T2.name
FROM T1 INNER JOIN T2 ON T1.id = T2.id
WHERE T1.name != T2.name AND T2.name IS NOT NULL

Если надо что разъяснить,
то обращайся на мыло:
zemal@rtsnet.ru


← →
Johnmen ©   (2002-06-11 09:56) [5]

>Zemal © (11.06.02 09:45)

Откуда взят такой синтаксис апдейта ?


← →
Fishka   (2002-06-11 10:05) [6]

update T1 set T1.NAME=(select T2.NAME from T2
where T1.ID=T2.ID)
where exists (select T2.ID from T2 where T1.ID=T2.ID)

Замечание. Последнее условие where exists (select T2.ID from T2 where T1.ID=T2.ID) не нужно, если для каждого T1.ID есть T2.ID. Данное условие может быть другим, например с использованием IN (select .......)


← →
Johnmen ©   (2002-06-11 10:16) [7]

>Fishka (11.06.02 10:05)

Рекомендую сначала попробовать работоспособность приведенного примера....
И указать для какой СУБД он приведен...


← →
Fishka   (2002-06-11 11:26) [8]

>Johnmen © (11.06.02 10:16)
Запросы такого вида были мною написаны для DBF и MSSQL.
Работоспособность проверена. Вот текст работающего запроса (для моих DBF):
update "D:\bio.dbf" a
set name = (select PNRUS from "d:\biores.dbf" b
where a.cod_f=b.obk)
where a.cod_f in (select obk from "d:\biores.dbf" c)


← →
Johnmen ©   (2002-06-11 11:44) [9]

>Fishka (11.06.02 11:26) : Удивительно...:)


← →
VAleksey ©   (2002-06-11 14:46) [10]


> Johnmen © (11.06.02 11:44)

Удивительно, что это для тебя удивительно !


← →
Johnmen ©   (2002-06-11 14:56) [11]

>VAleksey © (11.06.02 14:46)

Веришь-нет, никогда не приходилось делать такие апдейты, поскольку, если вникнуть в то, что он делает, становится очевидным, что при конструировании БД были допущены существенные огрехи, в т.ч. при нормализации....

А сам запрос действительно работает...:)


← →
VAleksey ©   (2002-06-11 15:02) [12]


> Johnmen © (11.06.02 14:56)

ты совершенно прав. Поэтому я и не ответил на этот вопрос сразу, а только после того как ты высказался. -).
ЗЫ
Хотелось подразнить мастера. :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
4-10057
digitalbomb
2002-05-01 10:24
2002.07.04
Подпись к иконкам на десктопе на прозрачном фоне


3-9724
Виталий Панасенко
2002-06-11 08:47
2002.07.04
UPDATE дной таблице по друго с использованием SQL


3-9730
Alex-kosmonavt
2002-06-11 09:56
2002.07.04
Картинки в базе данных


14-9976
dimich
2002-06-03 14:40
2002.07.04
Что делать с винтом?


4-10065
mifi
2002-05-05 01:43
2002.07.04
RASAPI32.DLL




   Наверх