当前位置: 代码迷 >> Sql Server >> 合并两个表的有关问题
  详细解决方案

合并两个表的有关问题

热度:39   发布时间:2016-04-27 14:39:09.0
合并两个表的问题
有以下两个表:
表2:
P241799 GWP0800770 pc. RMB 0.008
201806 GWP0700225 pc. HKD 0.06
PU300412 NULL NULL NULL NULL
表2:
P241799 NULL NULL NULL NULL
201806 NULL NULL NULL NULL
PU300412 ITP1000141 pc. HKD 0.135
要以下結果,如何做到呢?
P241799 GWP0800770 pc. RMB 0.008
201806 GWP0700225 pc. HKD 0.06
PU300412 ITP1000141 pc, HKD 0.135

排序不得调整,只能按这个顺序。

------解决方案--------------------
SQL code
declare @表1 table (c1 varchar(8),c2 varchar(10),c3 varchar(3),c4 varchar(3),c5 numeric(4,3))insert into @表1select 'P241799','GWP0800770','pc.','RMB',0.008 union allselect '201806','GWP0700225','pc.','HKD',0.06 union allselect 'PU300412',null,null,null,nulldeclare @表2 table (c1 varchar(8),c2 varchar(10),c3 varchar(3),c4 varchar(3),c5 numeric(4,3))insert into @表2select 'P241799',null,null,null,null union allselect '201806',null,null,null,null union allselect 'PU300412','ITP1000141','pc.','HKD',0.135select ISNULL(a.c1,b.c1) AS c1,ISNULL(a.c2,b.c2) AS c2,ISNULL(a.c3,b.c3) AS c3,ISNULL(a.c4,b.c4) AS c4,ISNULL(a.c5,b.c5) AS c5from @表1 aLEFT JOIN @表2 b ON a.c1=b.c1/*c1       c2         c3   c4   c5-------- ---------- ---- ---- ---------------------------------------P241799  GWP0800770 pc.  RMB  0.008201806   GWP0700225 pc.  HKD  0.060PU300412 ITP1000141 pc.  HKD  0.135*/
  相关解决方案