чайник / автореференсный стол - PullRequest
0 голосов
/ 16 июня 2011

У меня есть лист Excel с людьми, у каждого есть отец и мать, которые находятся в одном листе людей.Моя таблица exel выглядит так:

человек --- папа --- мама

Джон -------- Тони ----- Джейн

Тони -------- Джек

Я хотел бы импортировать данные в таблицу базы данных Oracle, которая выглядит следующим образом:

id --- человек --- отец --- мать

0----- Джек

1 ----- Тони -------- 0

2 ----- Джейн

что должно бытьмой рабочий процесс?

3 ---- Джон -------- 1 ----------- 2

1 Ответ

0 голосов
/ 16 июня 2011

Было бы проще начать с загрузки данных в таблицу с суррогатным идентификатором:

people father mother
------ ------ ------
john   tony   jane
tony   jack

Затем можно добавить строки для отцов и матерей, которых еще нет в столбце «люди»:

insert into mytable (people)
( select mother from mytable
  union
  select father from mytable 
)
minus
select people from mytable;

Это даст вам:

people father mother
------ ------ ------
jack
tony   jack
jane
john   tony   jane

Затем вы можете добавить суррогатный идентификатор для каждой строки и использовать его вместо этого, если вам это нужно.

...