Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перемещение столбцов. 
V
    Опции темы
HitmaN
Дата 17.8.2006, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.8.2006

Репутация: нет
Всего: нет



есть таблица Table_1( с полями a,b,c) и Table_2( с полями d,e,f). Нужно заполнить поля a и b таблицы Table_1 полями e и f таблицы Table_2. В обоих таблицах число строк ( Rows ) одинакого. Как это сделать ? Заранее благодарю. 
PM MAIL   Вверх
LSD
Дата 17.8.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



В Table_2 уже есть данные, или их надо перенести из Table_1?
Если есть то по какому критерию надо определять какую строку куда писать?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
HitmaN
Дата 17.8.2006, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.8.2006

Репутация: нет
Всего: нет



Да в Table_2 есть данные. Заполнение происходит по ID. Т.е.

Table1                   Table2            
ID| A| B| C|         ID| D| E| F|
1    q  w  e           1   z   x  c
2    r   t   y           2   v   b  n

Должно получиться 
Table1
ID| A| B| C|
1    x  c   e   
2   b   n   y 
PM MAIL   Вверх
jsa
Дата 17.8.2006, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 1
Всего: 20



Код

update table1 t1 set (a,b) = (select e,f from table2 t2 where t2.id = t1.id)
where  t1.id in (select id from table2)


при наличии данных в обоих таблицах и равенстве айдишников

Это сообщение отредактировал(а) jsa - 17.8.2006, 10:50


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
HitmaN
Дата 17.8.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.8.2006

Репутация: нет
Всего: нет



Спасибо
PM MAIL   Вверх
Paradox
Дата 5.10.2006, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



2jsa 
ваш запрос не есть гут smile операция in вообще в этом случае не хорошая (вдруг таблички по милиону записей ?)
позвольте предложить более красивое решение smile
Код

update (select a,b,e,f from table1 t1, table2 t2 where t1.id=t2.id) set a=e,b=f;



--------------------
---
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.