我有一个需要更改的数据库。原始数据库由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 landfromAccommodatie和vervoerscodefrom the table vervoer。
您能帮我构建一个查询来填充新表吗?
如果您只想填充新表,则以下操作应该有效:
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)