从一个表格中插入数值到另一个表格的SQL查询

4

I have a 2 table structure:

Table A:

RID; Name; LP
E    F     1
E    F     2
E    F     3
E    F     12
E    F     152

表 B:

LP
1
2
3
12
152
...
156
157
180
itd.

Query something like:

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.

哪个数据库 - SQL Server 还是 PostgreSQL? - user359040
4个回答

10

你很接近了。尝试一下:

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)

你能在 JOOQ 中做到这个吗? - Friso
1
@Friso:当然可以!随时提出新问题,我会回答。 - Lukas Eder
1
@Lucas Eder,经过一番苦思冥想,我终于搞明白了。如果我有时间的话,可能会发布一些内容,因为这对其他人可能有所帮助。感谢您的回复(以及您的出色工作!) - Friso
@Friso:当然可以!在Stack Overflow上,自己回答自己的问题以帮助未来的访问者是常见的做法。期待您的回答! - Lukas Eder

1
Insert into TableA(RID, Name, LP) 
Select 
   'E', 'F', LP 
 from 
   TableB

0

从 [OLD_TABLE] 中选择所有内容并插入到 [NEW_TABLE] 中

无需手动创建新表,系统会自动创建

愉快编程!


0
我想到的“快速且简单”的解决方案是: Insert into TableA(RID, Name, LP) Values ('E', 'F', Select LP from TableB where rowid = 1) Insert into TableA(RID, Name, LP) Values ('E', 'F', Select LP from TableB where rowid = 2)

...

等等……


那真的是“快速而肮脏”的方式;-) - Lukas Eder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接