Oracle SQL - 我希望按日期组合多个查询和组,但日期来自不同的来源。

时间:2012-09-27 02:45:45

标签: sql oracle

我正在尝试将5个查询合并到一个查询中,这样每次我想要更新报表时都不必运行多个查询。 5个报告中的每一个都被格式化,结果如下:

    The_Date      Sp_DAU    CS_Dau
   01-Jan-12       3423      3674
   02-Jan-12       1823      2547

依此类推....(每个不同的列,除了The_Date保持不变)

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

    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

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

1 个答案:

答案 0 :(得分:1)

查看第二个表格,我假设您始终希望根据日期汇总此数据。只要是这种情况,你就可以根据你的数字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日期时间,您可能希望舍入到同一天。这会变得有点复杂,因为你需要在引用日期时间的每个地方使用CAST( CAST( The_Date as INT) AS DATETIME),包括连接。

希望有所帮助。