首页 > 解决方案 > 连接两个结构相似的表

问题描述

我有 2 个相同类型的表:T1 和 T2 有 4 列(日期、标志、状态、计数)。我想计算表中的计数差异。我正在使用下面的查询

`Select 
T1.date,
T1.flag,
T1.status,
T1.counts,
T2.counts
(T1.count-T2counts)as difference 
From T1
Left join T2
On T1.date=T2.date
And T1.flag=T2.flag
And T1.status=T2.status
`

但无法获得所需的输出。任何建议将不胜感激。样本数据和所需输出如下 在此处输入图像描述

标签: sqlplsqloracle12cjointable

解决方案


您的查询中有几个拼写错误。我对其进行了修改并添加了一条 WITH 语句,以便我可以使用示例数据。结果看起来不错。

with T1 (mydate, flag, status, counts) as (select trunc(sysdate), 'Cat1', 1, '100' 
from dual), 
    T2 (mydate, flag, status, counts) as (select trunc(sysdate), 'Cat1', 1, '50' 
from dual)
Select 
T1.mydate,
T1.flag,
T1.status,
T1.counts T1Count,
T2.counts T2Count,
(T1.counts-T2.counts)as difference 
From T1
left join T2
On T1.mydate=T2.mydate
And T1.flag=T2.flag
And T1.status=T2.status

推荐阅读