如何使用其他两个表中的数据填充新表?

Gie*_*s72 3 sql sql-server

我有一个需要更改的数据库。原始数据库由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));
Run Code Online (Sandbox Code Playgroud)

新表如下所示:

CREATE TABLE Plaatscode
(   plaatscode      varchar(3)  not null,
    stedenadviseur  varchar(20) not null,
    land            varchar(20) not null,
    PRIMARY KEY (plaatscode));
Run Code Online (Sandbox Code Playgroud)

对于新表,我需要plaatscodeand landfromAccommodatievervoerscodefrom the table vervoer

您能帮我构建一个查询来填充新表吗?

Ken*_*nan 5

如果您只想填充新表,则以下操作应该有效:

INSERT INTO Plaatscode
(
  plaatscode,
  stedenadviseur,
  land
)
SELECT
a.plaatscode, v.stedenadviseur, a.land
FROM Accommodatie a
INNER JOIN Vervoer
ON a.plaatscode = v.plaatscode
Run Code Online (Sandbox Code Playgroud)