|
|
|
|
|
для: zeta777
(16.09.2008 в 18:50)
| | . | |
|
|
|
|
|
|
|
для: Trianon
(16.09.2008 в 18:13)
| | Спасибо большое. | |
|
|
|
|
|
|
|
для: zeta777
(16.09.2008 в 18:08)
| | Явно оговоренный JOIN ... ON ... как правило оптимизируется лучше. | |
|
|
|
|
|
|
|
для: Root
(16.09.2008 в 18:02)
| | Спасибо и за этот вариант. Он вообще-то как-то привычнее.. А какой быстрее сработает? Записей-то мнооого будет... | |
|
|
|
|
|
|
|
для: Trianon
(16.09.2008 в 18:00)
| | Спасибо. Надо думать хоть немного, прежде, чем задавать глупые вопросы :) | |
|
|
|
|
|
|
|
для: zeta777
(16.09.2008 в 17:37)
| |
UPDATE table2 AS t2, table1 AS t1
SET
t2.field2 = t1.field2,
t2.field3 = t1.field3
WHERE t2.field1 = t1.field1;
|
| |
|
|
|
|
|
|
|
для: zeta777
(16.09.2008 в 17:54)
| |
SET
table2.field2 = table1.field2,
table2.field3 = table1.field3
|
если бы были упомянуты обе таблицы - обновились бы поля в обеих. | |
|
|
|
|
|
|
|
для: Trianon
(16.09.2008 в 17:51)
| | извиняюсь за тупизм, но которая таблица в данном случае проапдейтится? table1 или table2? | |
|
|
|
|
|
|
|
для: zeta777
(16.09.2008 в 17:37)
| | >А вот если нужно несколько полей проапдейтить - что-то не пойму.
Тогда нужно сделать апдейт по соединению таблиц. Кстати, для одного поля тоже лучше применять соединение.
UPDATE
table1 JOIN table2 ON table2.field1=table1.field1
SET
table2.field2 = table1.field2,
table2.field3 = table1.field3
|
| |
|
|
|
|
|
|
|
для: Trianon
(15.09.2008 в 18:32)
| | А как можно проапдейтить? Не подскажите синтаксис?
UPDATE table2 set table2.field2=(SELECT filed2 from table1 WHERE table2.field1=table1.field1);
работает нормально
А вот если нужно несколько полей проапдейтить - что-то не пойму.
UPDATE table2 set table2.field2=(SELECT filed2 from table1) AND table2.field3=(SELECT filed3 from table1) WHERE table2.field1=table1.field1;
Так? Или я чего-то с кавычками намудрила? Или все неверно? | |
|
|
|
|