我有这个大查询,我在下面加入了五个查询:
--Combined Daily Actions Per Revenue Source--
SELECT Two.the_date,
sp_dau,
cs_dau,
tapjoy_ios_dau,
tapjoy_android_dau,
appcircle_ios_dau,
appcircle_android_dau,
freecause_dau,
portal_dau
FROM (SELECT Trunc(Cs.create_dtime) AS The_Date,
Count(DISTINCT CASE
WHEN Cs.cs_listing_id LIKE '99999999%' THEN
( Cs.player_id )
END) AS Sp_Dau,
Count(DISTINCT CASE
WHEN Cs.cs_listing_id NOT LIKE '99999999%' THEN
( Cs.player_id )
END) AS Cs_Dau
FROM player_chkin_cs Cs
WHERE Trunc(Cs.create_dtime) >= To_date('2012-Jan-01', 'yyyy-mon-dd')
GROUP BY Trunc(Cs.create_dtime)) One
INNER JOIN (SELECT Trunc(Tap.create_dtime) AS The_Date,
Count(DISTINCT CASE
WHEN ( Play.uuid LIKE 'i~%' )
OR ( Play.uuid LIKE 'ti~%' )
THEN
Tap.player_id
END) AS Tapjoy_Ios_Dau,
Count(DISTINCT CASE
WHEN ( Play.uuid LIKE 'a~%' )
OR ( Play.uuid LIKE 'ta~%' )
THEN
Tap.player_id
END) AS Tapjoy_Android_DAU
FROM player_tapjoy Tap
INNER JOIN player Play
ON Tap.player_id = Play.player_id
WHERE Trunc(Tap.create_dtime) >=
To_date('2012-Jan-01', 'yyyy-mon-dd')
GROUP BY Trunc(Tap.create_dtime)) Two
ON One.the_date = Two.the_date
INNER JOIN (SELECT Trunc(Aux.create_dtime) AS The_Date,
Count(DISTINCT CASE
WHEN ( Play.uuid LIKE 'i~%' )
OR ( Play.uuid LIKE 'ti~%' )
THEN
Aux.player_id
END) AS Appcircle_Ios_Dau,
Count(DISTINCT CASE
WHEN ( Play.uuid LIKE 'a~%' )
OR ( Play.uuid LIKE 'ta~%' )
THEN
Aux.player_id
END) AS AppCircle_Android_DAU
FROM player_aux_pt Aux
INNER JOIN player Play
ON Aux.player_id = Play.player_id
WHERE Aux.site = 'AppCircle'
AND Trunc(Aux.create_dtime) >=
To_date('2012-Jan-01', 'yyyy-mon-dd')
GROUP BY Trunc(Aux.create_dtime))Three
ON Two.the_date = Three.the_date
INNER JOIN (SELECT Trunc(Aux.create_dtime) AS The_Date,
Count(DISTINCT Aux.player_id) AS FreeCause_DAU
FROM player_aux_pt Aux
WHERE Aux.site = 'ext : freecause'
AND Trunc(Aux.create_dtime) >=
To_date('2012-Jan-01', 'yyyy-mon-dd')
GROUP BY Trunc(Aux.create_dtime))Four
ON Three.the_date = Four.the_date
INNER JOIN (SELECT Trunc(Aux.create_dtime) AS The_Date,
Count(DISTINCT Aux.player_id) AS Portal_DAU
FROM player_aux_pt Aux
WHERE ( Aux.site = 'Portal : Promotion'
OR Aux.site = 'Portal : RadiumOne'
OR Aux.site = 'Portal : Paymentwall'
OR Aux.site = 'Portal : TrialPay' )
AND Trunc(Aux.create_dtime) >=
To_date('2012-Jan-01', 'yyyy-mon-dd')
GROUP BY Trunc(Aux.create_dtime)) Five
ON Four.the_date = Five.the_date
大多数子查询的范围是从2012-Jan-01
到当前日期,除了一个只有从09-Jul-12
到现在的数据。
因此,当我运行此查询时,结果中的第一个日期是09-Jul-12
and not 01-Jan-12
。
我怎样才能得到从 开始的结果Jan 01
,除了一个查询之外的所有查询都有相关数据?