使用sql合并不均匀的表

时间:2013-11-06 21:50:12

标签: sql sql-server join merge sql-server-2008-r2

我有一个问题,我必须将多个昏暗的表组合在一起才能到达一个表。

我有一个像这样的表(tbl1) -

Country----Year----Srcname---Value
  A--------2011------FAI-----100
  B--------2010------FAI-----200
  C--------2009------CSS-----300
  D--------2008------BAT-----110

这样的另一个表(tbl2)

Country----Year----Srcname---Progname---Value
 A--------2011------UES--------EMP-------100
 A--------2011------UES--------FMD-------150
 B--------2010------UES--------MAP-------200
 C--------2009------UES--------FMD-------300
 C--------2009------UES--------QSP-------400
 C--------2009------UES--------EMP-------300
 D--------2008------UES--------TASC------110

我必须将tbl1和tbl2组合成一个表,如下面的tbl3

Country----Year----anyname---Value
  A--------2011------FAI-------100
  B--------2010------FAI-------200
  C--------2009------CSS-------300
  D--------2008------BAT-------110
  A--------2011------EMP-------100
  A--------2011------FMD-------150
  B--------2010------MAP-------200
  C--------2009------FMD-------300
  C--------2009------QSP-------400
  C--------2009------EMP-------300
  D--------2008------TASC------110

怎么做?

1 个答案:

答案 0 :(得分:4)

SELECT Country, Year, Srcname as combinedCol, Value FROM tbl1
UNION ALL
SELECT Country, Year, Progname as combinedCol, Value FROM tbl2