无法使用INSERT INTO SELECT语句将默认值添加到列

问题描述 投票:0回答:1

我在MS Access数据库中制作了以下Schema。

Student1(FirstName, LastName, SchoolName) in database db1
Student2(FirstName, LastName) in database db2 //Note there is no SchoolName column
Student3(FirstName, LastName) in database db3 //Note there is no SchoolName column

现在我的要求是将表Student2,Student3中的数据插入到Student1表中,这样每当从Student2表中输入时,应自动添加SchoolName的默认值,并且对于Student2表中的所有条目都是相同的,以防万一Student3表。

我的结果表Student1将只有两个学校名称用于所有条目。

FirstName   LastName    SchoolName
fn1 ln1 s1
fn2 ln2 s1
fn3 ln3 s1
fn4 ln4 s2
fn5 ln5 s2

我应该如何为此编写查询

通过使用此查询,我只能在Student1表中插入SchoolName的值。我怎样才能实现它

INSERT INTO Student1 SELECT FirstName,LastName IN'C:\ Users \ abc \ db1';

sql database ms-access
1个回答
0
投票

只需写两个插入:

INSERT INTO Student1 (FirstName, LastName, SchoolName)
    SELECT FirstName, LastName, "s1"
    FROM db2.Student2;

INSERT INTO Student1 (FirstName, LastName, SchoolName)
    SELECT FirstName, LastName, "s2"
    FROM db2.Student3;

虽然您可以使用union all在单个语句中编写此内容,但我认为没有任何优势。

© www.soinside.com 2019 - 2024. All rights reserved.