|
update таблицы
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста, как сделать: есть tab файл с Id-ками (выборка из одной таблицы) нужно по этим id-никам изменить данные в другой таблице. как сделать чтобы id-ники брались последовательно для update??? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 12:25 |
|
update таблицы
|
|||
---|---|---|---|
#18+
ХП: FOREACH SELECT id INTO v_id .... ORDER BY id UPDATE ... WHERE id = v_id END FOREACH П.С.: Это так важно? 8-[ ] А как делаете НЕПОСЛЕДОВАТЕЛЬНО? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 12:35 |
|
update таблицы
|
|||
---|---|---|---|
#18+
Спасибо! я не правильно выразилась, не в смысле последовательно, а просто по всем Id-кам. только учусь, не знала - FOREACH. еще раз спасибо! помогли! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 13:00 |
|
update таблицы
|
|||
---|---|---|---|
#18+
otnanСпасибо! Не спеши, потому как это один из правильных ответов на неправильный вопрос :) Как правильный вопрос то звучит? Глядишь, попроще чего посоветуем... :) Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 13:28 |
|
update таблицы
|
|||
---|---|---|---|
#18+
АнатоЛой точнее Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 13:29 |
|
update таблицы
|
|||
---|---|---|---|
#18+
UPDATE tab2 SET field = (select tab1.field from tab1 where tab1.id = tab2.id) WHERE id IN (SELECT tab1.id FROM tab1); ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 14:24 |
|
update таблицы
|
|||
---|---|---|---|
#18+
точнее будет так: есть 2 базы, в одной таблица table1 (id,name,tel) в другой table1 (id,tel) нужно в одной базе выбрать по определенному значению поля name, поменять значения поля tel и выбрать id. потом в другой базе по этим id поменять значения поля tel. только учусь, знаю что есть оптимальнее способ....в массив их загнать наверное, но как незнаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 15:16 |
|
update таблицы
|
|||
---|---|---|---|
#18+
otnan, по одному name находится одна запись? на входе задачи 1 name или несколько? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 15:44 |
|
update таблицы
|
|||
---|---|---|---|
#18+
по 1 name ищется, у 1 name много tel ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 15:47 |
|
update таблицы
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2008, 15:53 |
|
update таблицы
|
|||
---|---|---|---|
#18+
Добрый день. да, в принцыпе понятно..... только в первой базе же тоже нужно заменить все значения поля tel, при поиске по name, а потом уже выбрать id для замены по ним во второй базе. как тут еще один update впихнуть? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2008, 07:11 |
|
update таблицы
|
|||
---|---|---|---|
#18+
otnanтолько в первой базе же тоже нужно заменить все значения поля tel, при поиске по name Заменить на что? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2008, 10:25 |
|
update таблицы
|
|||
---|---|---|---|
#18+
ну тут получается, что апдейтим поле tel в одной базе по тому чему оно равно в поле tel в таблице в другой базе. а нужно еще проапдейтить поле tel в db1, потом выбрать id того что проапдейтили и по этим id поменять во второй базе поле tel. DATABASE db1; update table1 set tel=123 where name=abc; DATABASE db2; UPDATE table1 SET tel = ( SELECT t1.tel FROM db1:table1 t1 WHERE t1.id = table1.id) WHERE id IN ( SELECT t2.id FROM db1:table1 t2 WHERE t2.name = :p_name ); а как-нидь в одном запросе можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2008, 10:58 |
|
update таблицы
|
|||
---|---|---|---|
#18+
otnanпо 1 name ищется, у 1 name много tel otnan Код: plaintext
тогда эта фраза поменяет ВСЕ номера по заданному name... может нужно что-то типа Код: plaintext
и что значит "в одном запросе?" одним UPDATE? синтаксис две таблицы обновлять так не позволяет... нужна ХП или триггер ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2008, 12:07 |
|
update таблицы
|
|||
---|---|---|---|
#18+
да...я вообще то сразу некорректно написала....прошу прощения я не весь tel меняю, а tel[1], поэтому у одного name меняется много tel. да..глупость получилась, про 2 update/ а как может помочь ХП - базы то разные. и тригер тоже не очень понятно. может лучший вариант, это просто скрипт написать, эти 2 update туда, как параметр name менять? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2008, 13:28 |
|
update таблицы
|
|||
---|---|---|---|
#18+
otnan а как может помочь ХП - базы то разные. Вас же в моём примере update таблицы одной БД данными из другой БД не смутил?! :) Точно так же это выглядит и в ХП... otnan может лучший вариант, это просто скрипт написать, эти 2 update туда, как параметр name менять? Вот тут никаких оценок дать не могу - я же не знаю каким Вы окружением пользуетесь... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2008, 13:31 |
|
|
start [/forum/topic.php?fid=44&fpage=32&tid=1607942]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 310ms |
total: | 457ms |
0 / 0 |