我想要合并两个表:
Table A
Site Date Time Flow
xy-1 9/28/17 10:20 0.11
xy-1 8/13/17 9:59
xy-1 7/30/17 9:38 0.15
Table B
Site Date Time pH
xy-1 9/28/17 10:20 7.3
xy-1 8/27/17 10:30 7.8
xy-1 8/13/17 9:59 7.9
xy-1 7/30/17 9:38 7.2
我希望输出看起来像这样:
Site Date Time pH Flow
xy-1 9/28/17 10:20 7.3 0.11
xy-1 8/27/17 10:30 7.8
xy-1 8/13/17 9:59 7.9
xy-1 7/30/17 9:38 7.2 0.15
我尝试了各种连接,但由于这两个表具有不同的记录数,因此在连接期间会省略行。寻找SQL语句,Excel公式或Matlab代码。
我想它需要某种比较网站ID和日期的IF语句。如果两个表中的站点ID和日期匹配,则添加流和ph。如果站点ID和日期不同(或者不存在),则会创建一个只包含一个表的记录的新行。
答案 0 :(得分:1)
在Microsoft Access或MySQL中,UNION查询可以解决问题。
SELECT Site, Date, Time, Null As pH, Flow
FROM TableA
UNION ALL
SELECT Site, Date, Time, pH, Null as Flow
FROM TableB