Sql 如何使用其他两个表中的数据填充新表?
我有一个数据库需要修改。 原始数据库由3个表组成。 它现在需要再扩展一个表 新表的数据来自原始数据库的两个表。 我可以创建表,但不能用数据填充它。 原始表格如下:Sql 如何使用其他两个表中的数据填充新表?,sql,sql-server,Sql,Sql Server,我有一个数据库需要修改。 原始数据库由3个表组成。 它现在需要再扩展一个表 新表的数据来自原始数据库的两个表。 我可以创建表,但不能用数据填充它。 原始表格如下: create table Accommodatie (plaatscode varchar(3) not null, accommodatienr numeric(3) not null, accommodatiename varchar(25) not null, adres varc
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));
对于新表,我需要plaatscode
和land
来自accountage
和vervoerscode
来自表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
当谈到原始数据库包含的3列,以及需要扩展的一列时,您实际上是指“3个表”、“一个表”吗?对不起,当我谈到列时,我指的是表。我是荷兰人,请原谅。从表中调节栏land和plaatscode需要存储在表Vervoer中名为Pllatscode的新表中column stedenadviseur需要存储在表plaatscode中我编辑了您的问题,试图澄清一下。你能看一下修改后的版本,确认一切正常吗?如果没有,请随时回滚我的更改和/或添加您自己的更改(使用帖子下的编辑链接)。@AndriyM看起来好多了,谢谢。解决办法比我想象的要简单。只是加入。。。如果我的老师知道这一点,他会杀了我的谢谢