在Oracle中合并和匹配表

时间:2011-06-15 16:57:48

标签: oracle merge match

有谁知道如何将具有公共列名和数据的两个表合并到一个表中?共享列是日期列。这是工作项目的一部分,这里没有人知道它是如何工作的。任何帮助,将不胜感激。

table A 
Sub      Temp      Weight    Silicon   Cast_Date
108     2675       2731      0.7002    18-jun-11 18:45
101     2691       3268      0.6194    18-jun-11 20:30
107     2701       6749     0.6976      18-jun-11 20:30
113     2713       2112      0.6616      18-jun-11 20:30
116     2733       3142      0.7382     19-jun-11 05:46
121     2745       2611     0.6949      19-jun-11 00:19
125     2726       1995      0.644      19-jun-11 00:19


table B
Si      Temperature    Sched_Cast_Date     Treadwell
0.6622  2542    01-APR-11 02:57            114
0.6622  2542    01-APR-11 03:07             116
0.7516  2526    19-jun-11 05:46            116
0.7516  2526    01-APR-11 03:40            107
0.6741  2372    01-APR-11 04:03            107
0.6206  2369    01-APR-11 09:43            114
0.6741  2372    19-jun-11 00:19            125

结果如下:

Subcar Temp  Weight Silicon Cast_Date          SI     Temperature Sched_Cast_Date Treadwell
116    2733   3142  0.7382   19-jun-11 05:46   0.7516  2526   19-jun-11 05:46    116
125    2726   1995  0.644    19-jun-11 00:19   0.6741  2372   19-jun-11 00:19    125

我想运行一个仅在Sched_Cast_DateCast_Date相同的情况下返回结果数据的查询。具有相同品质的表也可以正常工作。

我希望这更有意义。

1 个答案:

答案 0 :(得分:0)

您是否在询问如何在公共列上连接两个表?即。

select a.Sub, a.Temp, a.Weight a.Silicon a.Cast_Date, b.SI,
       b.Temperature, b.Sched_Cast_Date, b.Treadwell
from a
join b on b.sched_cast_date = a.cast_date