简体   繁体   English

SQL插入查询

[英]SQL insert query

I'm struggling with this piece of SQL and I was wondering if someone could help me out. 我正在努力使用这条SQL,我想知道是否有人可以帮助我。

INSERT INTO table_1(
rec_1, 
rec_2, 
rec_3
) 
VALUES (
val_1, 
val_2, 
val_3
) 

Now, rec_2 and rec_3 are clear and have absolute values. 现在,rec_2和rec_3是清晰的并且具有绝对值。 Rec_1 is filled with values from another table. Rec_1填充了另一个表中的值。 Now I want to insert the values from the other table which do not exist already in this table. 现在我想插入另一个表中已存在的值。 I was guessing I should use WHERE NOT IN? 我猜我应该使用WHERE NOT IN?

So it would be something like this: 所以它会是这样的:

INSERT INTO table_1(
rec_1, 
rec_2, 
rec_3
) 
VALUES (
val_1,
val_2, 
val_3
) 
WHERE NOT IN (
SELECT rec FROM table_2
)

But.. How can I insert those values in rec_1 in my query? 但是..如何在查询中的rec_1中插入这些值?

How about a simple INSERT/SELECT if rec_2 and rec_3 are absolute values: 如果rec_2rec_3是绝对值,那么简单的INSERT/SELECT怎么样:

INSERT INTO table_1 (rec_1, rec_2, rec_3)
SELECT val_1, 'val_2', 'val_3'
FROM other_table
WHERE val_1 NOT IN (SELECT rec_1 FROM table_1)
INSERT INTO table_1(rec_1, rec_2, rec_3) 
SELECT val_1, val_2, val_3 FROM dual WHERE NOT EXISTS (SELECT rec FROM table_2)

You might want to check this answer for further usage 您可能需要查看此答案以供进一步使用

Further details here 更多细节在这里

Try this 尝试这个

INSERT INTO table_1(rec_1, rec_2, rec_3) 
SELECT  val_1, val_2, val_3 FROM tablename 
WHERE NOT EXISTS (SELECT rec FROM table_2)
     4 ways to insert record
 1--> {Simple Insertion when table column sequence is known}
        Insert into Table1
        values(1,2,...)

    2--> {Simple insertion mention column}  
        Insert into Table1(col2,col4)
        values(1,2)

    3--> {bulk insertion when num of selected collumns of a table(#table2) are equal to Insertion table(Table1) }   
        Insert into Table1 {Column sequence}
        Select * -- column sequence should be same.
           from #table2

    4--> {bulk insertion when you want to insert only into desired column of a table(table1)}
        Insert into Table1 (Column1,Column2 ....Desired Column from Table1)  
        Select Column1,Column2..desired column from #table2
           from #table2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM