Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将值从一个表插入另一个表的SQL查询_Sql_Sql Server_Postgresql - Fatal编程技术网

将值从一个表插入另一个表的SQL查询

将值从一个表插入另一个表的SQL查询,sql,sql-server,postgresql,Sql,Sql Server,Postgresql,我有一个2表结构: 表A: 表B: 查询如下内容: Insert into TableA(RID, Name, LP) Values ('E', 'F', Select LP from TableB) 我想实现: RID; Name; LP E F 1 E F 2 E F 3 E F 12 E F 152 E F 156 E F 157 E F 180 etc. 你很接近。试一试

我有一个2表结构:

表A: 表B: 查询如下内容:

Insert into TableA(RID, Name, LP) Values ('E', 'F', Select LP from TableB)
我想实现:

RID; Name; LP
E    F     1
E    F     2
E    F     3
E    F     12
E    F     152
E    F     156
E    F     157
E    F     180
etc.
你很接近。试一试

INSERT INTO TableA(RID, Name, LP)
SELECT 'E', 'F', LP FROM TableB
-- Omit this where clause, if duplicate LP's are OK
WHERE TableB.LP NOT IN (SELECT LP FROM TableA)
我想出的“又快又脏”解决方案是:

在表格A(RID、名称、LP)中插入值('E','F',从表格B中选择LP,其中rowid=1)

在表格A(RID、名称、LP)中插入值('E','F',从表格B中选择LP,其中rowid=2)


依此类推…

从[旧表]中选择*进入[新表]

无需创建新表。它将自动创建。
享受。

哪个数据库-sql server或postgresql?这真的是“又快又脏”;-)你能在JOOQ做这个吗?@Friso:当然!请随便问一个新问题,我会answer@Lucas埃德,经过一番费解,我终于明白了。如果我有时间的话,我可能会发一些东西,因为这可能对其他人有帮助。谢谢你的回复(还有你出色的工作!)@Friso:当然!在这里,回答您自己的问题以帮助未来的访问者是关于堆栈溢出的常见做法。期待!
RID; Name; LP
E    F     1
E    F     2
E    F     3
E    F     12
E    F     152
E    F     156
E    F     157
E    F     180
etc.
INSERT INTO TableA(RID, Name, LP)
SELECT 'E', 'F', LP FROM TableB
-- Omit this where clause, if duplicate LP's are OK
WHERE TableB.LP NOT IN (SELECT LP FROM TableA)
Insert into TableA(RID, Name, LP) 
Select 
   'E', 'F', LP 
 from 
   TableB