2015-02-01 3 views
0

많은 테이블이있는 Oracle DB가 있습니다 (60 개 이상). 예새 테이블에 모든 Oracle 테이블을 가입하는 방법

:

표 1

ID  STRING  DATA 
    1   ABC   READ 
    2   CDE   WRITE 
    3   FGH   READ 
    4   HSS   WRITE 
    5   FFH   WRITE 

표 2

ID  Name  Feb 
    1  Deven  12 
    4  Monish  21 
    5  Ritesh  22 

표 3

I는 어디에 각 ID에 대한 새로운 테이블을 생성해야
ID  STRING   DATA   READY 
1   ABC   READ   OK 
2   CDE   WRITE   NO 
3   FGH   READ   OK 

그것은 모든 필드를 보여줍니다. d ID에 대한 모든 db 테이블에 포함 된 정보. 같은 행 : 모든 내가 필요

NEW 표는

ID  STRING  DATA  Name  Feb  READY 
    1   ABC  READ  Deven  12  OK 
    2   CDE  WRITE       NO 
    3   FGH  READ       OK 
    4   HSS  WRITE  Monish  21 
    5   FFH  WRITE  Ritesh  22 

가 어떤 COMAND 내가 사용해야 만드는 방법?

나는 SQL 언어의 신조어이기 때문에 기다려주십시오.

는 당신에게 당신이 원하는 필드를 가지고있는

+2

다른 모든 60+ 테이블의 모든 데이터를 포함하는 새 테이블을 만들고 싶습니까? 왜? –

+0

엑셀로 내보내기해야하기 때문에; 그래서 각 ID는 (해당 ID의) 데이터베이스에있는 모든 데이터가 동일한 행에 삽입되어야합니다. – 823

+0

답장을 보내 주셔서 감사합니다 :) 죄송하지만 모든 데이터베이스에서 모든 정보를 찾을 수있는 간단한 코드가 없습니까? ID와 관련이있다 ???? – 823

답변

0

Create a view 대단히 감사합니다. 그런 다음 INSERT INTO ... SELECT * FROM view ...을 실행하십시오.

+1

왜 먼저보기를 만드나요? 이것이 SQL에 익숙하지 않은 경우 OP가 실제로 도움이 될지 확실하지 않습니다. (왜 PL/SQL 태그가 필요합니까?) –

+0

확인; 그러나 모든 필드 이름과 테이블 이름을 쓰는 것을 피하는 방법이 있습니까 ??? 이미지에서 볼 수있는 것처럼 많은 프리뷰가 미리로드되어 있음을 알 수 있습니다. 그러나 아무도 내가 들었던 모든 분야와 테이블을 가지고 있지 않습니다. 단 하나에서 이러한 모든보기를 병합하는 방법이 있습니까 ??? 이미지 : http://www.webalice.it/boss823/dgflo-1.jpg – 823

2

기본적으로, 당신은 (당신의 샘플 데이터 기준) 첫 번째 테이블로 시작하는 큰 left outer join 원하는 :

select t1.id, t1.string, t1.data, t2.name, t2.feb, t3.ready 
from table1 t1 left join 
    table2 t2 
    on t1.id = t2.id left join 
    table3 t3 
    on t1.id = t3.id; 

id 유일한 (또는 오른쪽) 경우 샘플 데이터에서 얘기하는 것은 불가능합니다 join 키. 그러나 올바른 쿼리를 작성하려면 테이블 간의 관계를 알아야합니다.

표에 표시하려면 앞에 create table as 문을 미리 보류하십시오.

+2

감사합니다. 그러나 모든 필드 이름을 쓰지 않도록하는 방법이 있습니까 ??? (테이블은 60 개 이상이고 각 테이블에는 약 20 개의 필드가 있습니다) – 823

관련 문제