合并结构相同的多个表,该怎么解决

合并结构相同的多个表,该怎么解决

合并结构相同的多个表

postgreSQL数据库中现在有多个结构完全相同的表,想将它们合并成一个表,各个表之间无重复记录。

如:

A: a b c

  1 3 5

  2 3 6

  3 3 7

B: a b c

  1 4 5

  2 4 6

  3 4 7

C: a b c

  1 5 5

  2 5 6

  3 5 7

合并后:

D:

  a b c

  1 3 5

  2 3 6

  3 3 7

  4 4 5

  5 4 6

  6 4 7

  7 5 5

  8 5 6

  9 5 7

注意a字段相当于id,用来计数。合并后这个字段要如上所示。

急求大侠解决,在线等。。。

谢谢



SELECT a,b,c 

FROM A

UNION ALL

SELECT a,b,c

FROM B

UNION ALL

SELECT a,b,c

FROM C




SELECT a,b,c

FROM A

UNION ALL

SELECT a+(select max(id) from A),b,c

FROM B

UNION ALL

SELECT a+(select max(id) from A)+(select max(id) from B),b,c

FROM C




没有好办法,用程序代码去生成这个 select * from a union all select * from b …

然后序列1,2,3,4。。不要在SQL语句中生成,在程序中生成。




insert into new_table(one,two) as (

 select b one,c two from a 

 union 

 select b one,c two from b

 union 

 select b one,c two from c)

表:new_table(id(自增),one,two) 

大概思路。

合并结构相同的多个表,该怎么解决

相关文章:

你感兴趣的文章:

标签云: