8

現在、ファクト テーブルにデータを入力しようとしていますが、必要な時間 ID を入力するのに問題があります。時間ディメンションは完全に移入され、完了しています。基本的に、時間ディメンションでは、各行は 15 分間です。ファクト テーブルには、通話に関する詳細が入力されています。また、ステージング コール テーブルには、コールの開始時刻と終了時刻があります。

開始時刻までにステージング テーブルにディメンションを結合し、ディメンションの time_Start がステージングの開始時刻と終了時刻の間にあるときに、ファクト テーブルにデータを入力したいと考えています。 = を使用して以下のクエリを実行しました。 = の代わりに BETWEEN を使用できますか?

INNER JOIN Time_Dim ON incoming_measure.StartTimeDate = Time_Start
WHERE Time_Start BETWEEN incoming_measure.StartTimeDate AND incoming_measure.EndTimeDate

助けてくれてありがとう。

4

1 に答える 1

7

編集:

あなたの結合は正しくありません。結合の形式は次のとおりです。

Select column from table A
INNER JOIN table b on
    A.column = B.column
INNER JOIN table c on
    B.column = c.column
Where B.column Between start_date AND end_date

<and>演算子を使用できます

また、フォーマットsqlserverを使用することも重要です。yyyy-mm-dd

INNER JOIN Time_Dim ON incoming_measure.StartTimeDate = Time_Start
WHERE Time_Start > incoming_measure.StartTimeDate AND Time_Start < incoming_measure.EndTimeDate

使用することもできますBetween

INNER JOIN Time_Dim ON incoming_measure.StartTimeDate = Time_Start
WHERE Time_Start Between incoming_measure.StartTimeDate AND incoming_measure.EndTimeDate
于 2013-03-31T17:29:51.217 に答える