2010-03-04 2 views
0

Я работаю над созданием новой базы данных SQLite. Очевидно, что по ряду причин важна структура и организация.О подключении/обновлении/вставке SQL-запроса

У меня есть существующая база данных, это все, что мне нужно, кроме для одной колонки. Итак, я дублировал исходный db и хотел бы просто поменять этот столбец новыми данными из другого столбца в другой таблице в db?

Могу ли я это сделать? Какой запрос позволит мне сделать это?

Запрос соединения просто временно присоединяется, не так ли? Если мне нужно физически внести изменения в структуру db, я использую обновление?

У меня нет огромного опыта работы с SQL-запросами, поэтому любая помощь здесь будет оценена очень!

+0

@Jared: Я добавил несколько перерывов на ваш вопрос, я думаю, что это облегчает чтение. Надеюсь, вы согласитесь :) –

+0

Нет проблем! И спасибо за ваш ответ, он отлично работал! – Jared

ответ

1

Не зная структуры таблицы, это будет путь:

UPDATE new_table 
SET new_column = (SELECT old_column 
        FROM old_table 
        WHERE old_table.id = new_table.id) 

new_column Он обновляет в вашем new_table со значением old_table.old_column, где совпадает с id колонки.

Вы можете заменить предложение WHERE в подвыборке тем, что вам нужно, чтобы найти коррелирующие записи.

1

Да, вы можете создать запрос и вставить его в свою новую структуру. Я предполагаю, что есть какая-то связь между двумя таблицами, которые вам нужны для получения данных?

INSERT INTO TableName (field1, field2, field3) 
(SELECT field1, field2, Field3 
FROM SomeTable 
INNER JOIN OtherTable on SomeTable.KeyField = OtherTable.FKField) 
Смежные вопросы