結果を吐き出すクエリがあります:
Select Sum(Count(P.Create_Dtime)),
From Player P
Where
Trunc(P.Create_Dtime) >= To_Date('2012-mar-01','yyyy-mon-dd')
And Trunc(P.Create_Dtime) < To_Date('2015-sep-9','yyyy-mon-dd')
Group By Trunc(P.Create_Dtime)
Order By Trunc(P.create_Dtime) Asc
結果=317827
ここで、このクエリを変更してfromグループに別のテーブルを追加すると(後でこのテーブルに基づいて制約を追加します)...結果は、元の合計よりもはるかに大きい新しい回答を吐き出します。たとえば、元の回答は317827でしたが、下の表に追加すると、元の回答のちょうど20倍の6356540になります。「Feature_group_xref」テーブルには20行のデータがあり、create_dtime列もそのテーブルにあります。これらの値が増加するのはなぜですか?各列を(「P」で)識別したので、問題はないと思いました。助言がありますか?以下に表示されている場合、私が追加したのは新しいテーブル名だけです。
Select Sum(Count(P.Create_Dtime))
From Player P, Feature_group_xref X
Where
Trunc(P.Create_Dtime) >= To_Date('2012-mar-01','yyyy-mon-dd')
And Trunc(P.Create_Dtime) < To_Date('2015-sep-9','yyyy-mon-dd')
Group By Trunc(P.Create_Dtime)
Order By Trunc(P.create_Dtime) Asc
結果=6356540(テーブル "Feature_Group_Xref"には20行あり、1つの列はcreate_dtimeです。この結果は、最初のクエリの結果のちょうど20倍です。
**更新-2012年3月1日以降に作成されたユーザーについて、過去7日間のアクティブなプレーヤーの合計を表示するこのクエリがあります...
Select
sysdate,sum(Count(p.init_dtime))
From Player p
Where
Trunc(p.Init_Dtime) > Trunc(Sysdate) - 7
And
Trunc(P.Create_Dtime) >= To_Date('2012-mar-01','yyyy-mon-dd')
And Trunc(P.Create_Dtime) < To_Date('2015-sep-9','yyyy-mon-dd')
Group By Trunc(P.Init_Dtime)
Order By Trunc(p.Init_Dtime) Asc
このクエリを取得して分解し、表示される(init_dtime)値がgroup_id = 1,10,20,30、および40(グループIDは1〜100)の値のみになるようにします。グループIDはplayer_sourceテーブルにあり、「player_id」列はplayer_sourceテーブルとplayer_sourceテーブルの両方にあります。