将数据从一个表传输到另一个表以及其他值(SQL)

时间:2017-06-15 12:56:52

标签: sql oracle sql-insert

我想将几个表中的数据与一些默认值一起插入到一个表中。

假设我有3个表:

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

我想

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

table1.col3 -> table3.col7,

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

我尝试使用INSERT INTO...SELECT FROM但是只有当**table1**的所有值都来自其他表而不是**"default_value"**.时才允许我输入值我不能使用2个不同的查询来自table1的列对其有NOT NULL约束。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分: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