3

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

对于我需要的新表plaatscodelandfrom表。Accommodatievervoerscodevervoer

你能帮我建立一个查询来填充新表吗?

4

1 回答 1

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
于 2012-09-23T19:11:31.760 回答