计算来自两个不同表的两行之间的差异

斯里尼瓦桑·艾耶(Srinivasan Iyer)

我有两个表,其结构如下

表一

║ID║
日期║║ ════╬═══════╬══╣ 
║1║1/1/2015║234║║ 
║2║二〇一五年一月二十〇日║267║║ 
║3║2015年1月25日║270 ║║ 
╚════╩═══════════╩═══════╩══╝

第二张桌子


开始日期结束日期║ ═══════╣ 
║║1/1/2015 2015年1月20日║ 
║║2015年1月20日2015年1月25日║ 
╚════════════╩══ ═════════╝

我的输出必须是

║起始
日期结束日期差异║ ══════════╬═══════════╬════════════╣ 
║1/1/2015║二〇一五年一月二十○日║33 ║ 
║2015年1月20日2015年1月25日║║3║ 
╚════════════╩═══════════╩════════ ════╝

因此,在这里我必须根据日期将第二号表连接到第一号表,然后计算该列中两个值(对应于日期)之间的差,然后在一个sql查询中显示它。

问题是我无法将它们全部合并到一个查询中并一起显示。

这就是我的远

select start_date, end_date, ((SELECT
                    table_one.value
                FROM
                    table_one, 
                    table_two 
                WHERE 
                    table_one.date= table_two.end_date(+)
                ) - (
                SELECT
                    table_one.value
                FROM
                    table_one, 
                    table_two 
                WHERE 
                    table_one.date = table_two.start_date(+)
                ))from table_two,table_one where table_two.start_date(+)=table_one.date

我在上面的查询中获得ORA-01427。我在做什么错,我如何获得结果?

戈登·利诺夫

只需使用joins:

select t2.start_date, t2.end_date, (t1e.value - t1s.value) as difference
from table2 t2 join
     table1 t1s
     on t2.start_date = t1s.date join
     table1 t1e
     on t2.end_date = t1e.date;

如果某些日期table2可能不匹配table1,则使用left join而不是内部联接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL:计算来自两个不同表的两个不同列

如何计算来自两个不同表的两个独立列?

如何在一个查询中计算来自两个表的行?

计算来自两个不同数据帧的两个字符串列之间的编辑距离

显示来自两个不同表(比较表)的两列之间的差异

计算两行之间的差异

两个如何比较来自两个不同数据框的熊猫的两行

两个显示结果包含来自不同数据库的两个表之间的差异

计算来自不同表的两列的记录

R如何计算两个矩阵行之间的差异?

计算两个不相邻行之间的差异

MySQL:计算不同表行中两个时间戳的差异

计算两个while之间的差异

计算来自不同服务器上两个数据库中所有表的所有行

R:如何计算两个不同年份的两个表中的差异

Oracle sql - 从两个不同的表中选择两个总和之间的差异?

计算两行之间的差异,按天平均

计算Python / Pandas中两行之间的差异

计算两行之间的百分比差异

mysql,计算两个表之间的不同值

Excel VBA可以找出以天为单位的两个日期之间的差异。日期来自不同的工作表

查找两个表之间的差异

识别并比较两个不同表中的两行

计算不同表中两个日期之间的行的值的总和

根据两个不同的ID连接两行

SQL-JOIN和比较来自不同表的两行之间有什么区别?

如何根据同一表中的日期计算不同行中两个值之间的差异

SQL - 返回行之间的差异(在两个不同的表中)但仅当两个表中都存在行 ID 时

计算连续行的值(两个不同的表)