2017-12-17 17 views
0

私はMS Accessデータベースで以下のスキーマを作成しました。INSERT INTO SELECT文を使用してカラムにデフォルト値を追加できません

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 

は今私の要件は、STUDENT1テーブルに両方のテーブルStudent2、Student3からデータを挿入することで、そのようなエントリがStudent2テーブルから作られるたびSchoolNameのデフォルト値が自動的に追加されなければならないし、すべてのために同じであることStudent2テーブルのエントリは、Student3テーブルの場合と同様です。

私の結果のテーブルStudent1は、すべてのエントリに対して2つの学校名しか持たないでしょう。

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

は、どのように私は私だけSTUDENT1テーブルにSchoolNameに値を挿入することができるようになります。このクエリを使用して、この

のクエリを記述する必要があります。どうすれば実現できますか?

INSERT INTO Student1 SELECT名、姓は 'C:\ Users \ abc \ db1'です。

答えて

0

ただ、2つの挿入を書く:

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を使用して、単一のステートメントでこれを書くことができますが、私はそれに任意の利点が表示されません。

+0

ありがとうございました@Gordon Linoff私は望ましい出力を得ることができました –

関連する問題