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

时间:2017-12-17 14:14:46

标签: sql database ms-access

我在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';

1 个答案:

答案 0 :(得分: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在一个声明中写这个,但我没有看到任何优势。