将值从一个表插入另一个表的SQL查询
我有一个2表结构: 表A: 表B: 查询如下内容:将值从一个表插入另一个表的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. 你很接近。试一试
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