2012-09-23 3 views
2

변경할 필요가있는 데이터베이스가 있습니다. 원본 데이터베이스는 3 개의 테이블로 구성됩니다. 이제 하나 이상의 테이블로 확장해야합니다.다른 두 테이블의 데이터로 새 테이블을 채우는 방법?

새 테이블의 데이터는 원래 데이터베이스의 두 테이블에서 가져옵니다. 테이블을 만들 수는 있지만 데이터로 채울 수는 없습니다. 원래 테이블은 다음과 같습니다

create table Accommodatie 
(plaatscode  varchar(3) not null, 
accommodatienr numeric(3) not null, 
accommodatiename varchar(25) not null, 
adres   varchar(25) not null, 
plaatsnaam  varchar(20) not null, 
land    varchar(20) not null, 
email   varchar(30) null, 
internet   varchar(30) null, 
contactpersoon varchar(25) null, 
primary key (plaatscode, accommodatienr)); 

create table Vervoer 
(vervoercode numeric(5) not null, 
plaatscode  varchar(3) not null, 
stedenadviseur varchar(20) not null, 
vervoersoort varchar(12) not null, 
maatschappij varchar(15) not null, 
omschrijving varchar(50) not null, 
overstap  varchar(30) null, 
primary key (vervoercode)); 

create table Vervoerprijs 
(vervoercode numeric(5) not null, 
seizoen  varchar(6) not null, 
prijs  numeric(6,2) not null, 
plaatscode varchar(3) not null, 
primary key (vervoercode, seizoen), 
foreign key (vervoercode) references Vervoer(vervoercode)); 

새로운 테이블은 다음과 같습니다

CREATE TABLE Plaatscode 
( plaatscode  varchar(3) not null, 
    stedenadviseur varchar(20) not null, 
    land   varchar(20) not null, 
    PRIMARY KEY (plaatscode)); 

을 나는 테이블 vervoer에서 Accommodatievervoerscode에서 plaatscodeland을 필요로하는 새로운 테이블에 대해.

새 테이블을 채우는 쿼리 작성을 도와 줄 수 있습니까?

+1

약 3 * 열을 이야기 * 원본 데이터베이스는 * 열 *가 요구뿐만 아니라 하나 구성되어 있음 "3 * tables *", "one * table *"을 실제로 의미합니까? –

+0

내가 테이블을 의미하는 칼럼에 대해 이야기 할 때 죄송합니다. 나는 너무 용서한다. 테이블 공간에서 열 토지와 plaatscode를 테이블에있는 Pllatscode라는 새 테이블에 저장해야합니다. Vervoer 열 stedenadviseur를 테이블에 저장해야합니다. Plaatscode – Gieles72

+0

약간 명확하게하기 위해 질문을 편집했습니다. . 모든 것이 맞는지 확인하기 위해 수정 된 버전을 살펴 보시기 바랍니다. 무언가가 없다면, 내 변경 사항을 롤백하거나 자신의 게시물을 추가 할 수 있습니다 (게시물 아래에 * Edit * 링크 사용). –

답변

2

당신의 새로운 테이블을 채우는되고 싶은 모두는 다음과 같은 작업을해야하는 경우 :

INSERT INTO Plaatscode 
(
    plaatscode, 
    stedenadviseur, 
    land 
) 
SELECT 
a.plaatscode, v.stedenadviseur, a.land 
FROM Accommodatie a 
INNER JOIN Vervoer 
ON a.plaatscode = v.plaatscode 
+0

나는 그것을 시도해 보겠다. – Gieles72

+0

@KenKeegan 고마워요. 효과가있었습니다. – Gieles72

관련 문제