有以下两个表:
表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*/