2012-05-17 2 views
4

В настоящее время я работаю над веб-системой, использующей Mysql db.Перемещение данных из одного столбца в другой аналогичный столбец в другой таблице MYSQL

я понял, что первоначально настроить столбцы в таблицах неправильно и

теперь мне нужно переместить данные из одного столбца таблицы (receiptno) в таблице (клиенты) в аналогичную колонку таблицы (receiptno) в таблице (выручка).

Я все еще довольно неопытен с Mysql, и поэтому я не знаю синтаксиса mysql для этого.

Могу ли я помочь?

Благодаря

ответ

11

Если вы просто хотели, чтобы вставить данные в новые записи в revenue таблицы:

INSERT INTO revenue (receiptno) SELECT receiptno FROM clients; 

Однако, если вы хотите обновить существующие записи в revenue таблицы с ассоциированными данными из clients стол, вы должны соединить таблицы и выполнить UPDATE:

UPDATE revenue JOIN clients ON **join_condition_here** 
SET revenue.receiptno = clients.receiptno; 

Подробнее о SQL joins.

+0

работал отлично спасибо :-) –

1
INSERT INTO newtable (field1, field2, field3) 
SELECT filed1, field2, field3 
FROM oldtable 
4

Такой же запах, отличный запах для ответа eggyal, это работает в Oracle и Postgress, поэтому ваш пробег может отличаться.

UPDATE revenue t1 SET receiptno = (
    SELECT receiptno FROM clients t2 WHERE t2.client_id = t1.revenue_id 
); 

Вы должны отрегулировать где положение, чтобы удовлетворить ваши потребности ...

+0

sure..this работает быстрее. – karto

Смежные вопросы