Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle SQL-我想组合多个查询并按日期分组,但日期来自不同的来源。_Sql_Oracle - Fatal编程技术网

Oracle SQL-我想组合多个查询并按日期分组,但日期来自不同的来源。

Oracle SQL-我想组合多个查询并按日期分组,但日期来自不同的来源。,sql,oracle,Sql,Oracle,我正在尝试将5个查询合并为一个查询,这样我就不必每次更新报告时都运行多个查询。5个报告中的每个报告都已格式化,因此结果如下所示: The_Date Sp_DAU CS_Dau 01-Jan-12 3423 3674 02-Jan-12 1823 2547 The_Date Sp_Dau Cs_Dau TapJoy_Ios_Dau TapJoy_Android_DAU Portal_D

我正在尝试将5个查询合并为一个查询,这样我就不必每次更新报告时都运行多个查询。5个报告中的每个报告都已格式化,因此结果如下所示:

    The_Date      Sp_DAU    CS_Dau
   01-Jan-12       3423      3674
   02-Jan-12       1823      2547
    The_Date       Sp_Dau     Cs_Dau  TapJoy_Ios_Dau  TapJoy_Android_DAU Portal_DAU
    01-Jan-12       1823      2547       35                  1115           33
    02-Jan-12       2453      3000       47                  1478           30
以此类推……(每个列都有不同的列,但_日期保持不变)

问题是,_日期来自多个表,因此我不知道如何组合所有查询,因此结果如下所示:

    The_Date      Sp_DAU    CS_Dau
   01-Jan-12       3423      3674
   02-Jan-12       1823      2547
    The_Date       Sp_Dau     Cs_Dau  TapJoy_Ios_Dau  TapJoy_Android_DAU Portal_DAU
    01-Jan-12       1823      2547       35                  1115           33
    02-Jan-12       2453      3000       47                  1478           30

这有意义吗?如果我发布了所有的查询,或者这些信息太多,会有帮助吗?

查看第二个表,我假设您总是希望根据日期聚合这些数据。在这种情况下,您将希望根据表数N的日期加入

SELECT * FROM Table1 T1
INNER JOIN Table2 T2 ON T1.The_Date = T2.The_Date
INNER JOIN Table3 T3 ON T1.The_Date = T3.The_Date
...
INNER JOIN TableN TN ON T1.The_Date = TN.The_Date
如果您的日期是SQL datetime,那么您可能希望精确到同一天。这变得有点复杂,因为您需要在引用日期时间的每个位置(包括连接)使用
CAST(CAST(The_Date as INT)as DATETIME)


希望这能有所帮助。

查看第二个表,我假设您总是希望根据日期聚合这些数据。在这种情况下,您将希望根据表数N的日期加入

SELECT * FROM Table1 T1
INNER JOIN Table2 T2 ON T1.The_Date = T2.The_Date
INNER JOIN Table3 T3 ON T1.The_Date = T3.The_Date
...
INNER JOIN TableN TN ON T1.The_Date = TN.The_Date
如果您的日期是SQL datetime,那么您可能希望精确到同一天。这变得有点复杂,因为您需要在引用日期时间的每个位置(包括连接)使用
CAST(CAST(The_Date as INT)as DATETIME)


希望有帮助。

发布表格结构、样本数据和查询将非常有帮助。发布表格结构、样本数据和查询将非常有帮助。加入!!!我不知道为什么我没有想到这一点,因为我的查询中有连接。。这很有效,谢谢你。至于确切的日期,我在我的日期中使用了Trunc(函数),所以我想我已经介绍过了。再次感谢你!Joins!!!我不知道为什么我没有想到这一点,因为我的查询中有Joins。这非常有效,谢谢你。至于确切的日期,我一直在使用Trunc(功能在我的日期,所以我想我已经涵盖了。再次感谢你!