2017-06-15 8 views
0

いくつかのテーブルのデータをいくつかのデフォルト値とともに1つのテーブルに挿入したいとします。私はINSERT INTO...SELECT FROMを使用してみましたが、それは私が**table1**のすべての値が他のテーブルから取得された場合にのみ値を入力することができます他の値と一緒にあるテーブルから別のテーブルにデータを転送する(SQL)

insert in table1.col1 -> table2.col5, 
table1.col2 -> table2.col6, 

table1.col3 -> table3.col7, 

table1.col4 -> 'default_value' for some WHERE condition. 

に私が欲しい

**table1**(col1, col2, col3, col4) 
**table2**(col5, col6) 
**table3**(col7) 

は、私は3つのテーブルがあるとし**"default_value"**.の場合table1のすべての列にNOT NULLという制約があるため、2つの異なるクエリを使用することはできません。

これを転送する方法を教えてもらえますか?

+0

あなたが書いたクエリは、どのように表示されますか? – SQLChao

答えて

0

あなたが試したクエリは表示されていないため、既に試したことを示唆しないようにするのに役立ちます。 しかし、あなたが試したことを知らないにもかかわらず、これはうまくいくはずです - それは確かに私のためです。

INSERT INTO table1 (col1, col2, col3, col4) 
SELECT t2.first_name, t2.age, t3.salary, 'DEFAULT VALUE' 
FROM table2 t2 
     INNER JOIN 
     table3 t3 
     ON t2.rec_id = t3.rec_id 
関連する問題