Oracle SQL-我想组合多个查询并按日期分组,但日期来自不同的来源。
我正在尝试将5个查询合并为一个查询,这样我就不必每次更新报告时都运行多个查询。5个报告中的每个报告都已格式化,因此结果如下所示: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
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(功能在我的日期,所以我想我已经涵盖了。再次感谢你!