MSSS 2008の3つのテーブル間の結合を含むテーブルを作成しようとしています。ファクトテーブル、日付テーブル、およびコーステーブルがあります。私はそれらをベーステーブルにするために参加する必要があります。日付表にはアカデミック・イズ・ルックアップという1つのパラメータがあり、このパラメータの値は2000/1、2001/2のようなものです。ベーステーブルのこのパラメータは、CensusYear、StartYear、ApplicationYearなどの3つのパラメータに分離する必要があります。したがって、私は複数回データテーブルが必要です。私は内部結合クエリを実行し、すでに4つの内部結合ステートメントを持っていますが、私は余分な年を取っています、そして、私は何年も失っています。私の質問はどこかで間違っているはずです。SQL Serverで内部結合に1つのテーブルを複数回使用する方法はありますか。
添付ファイルには、MS Accessで作成したデザインビューが含まれています。テーブルを表示して作成する必要があることを理解するのに役立ちます。 [MS Accessの中にデザインビュー]、[1]
SELECT
A.[EventCount],
B.[AcademicYearLookup] AS [CensusYear],
C.[AcademicYearLookup] AS [StartYear],
D.[AcademicYearLookup] AS [ApplicationYear],
B.[CurrentWeekComparisonFlag],
B.[AcademicWeekOfYear],
case
when A.[ApplicationCensusSK] = 1 then 'Same Year'
when A.[ApplicationCensusSK] = 2 then 'Next Year'
when A.[ApplicationCensusSK] = 5 then 'Last Year'
ELSE 'Other'
END as [CensusYearDescription],
B.[CurrentAcademicYear],
A.[StudentCodeBK],
A.[ApplicationSequenceNoBK],
A.[CourseSK],
A.[CourseGroupSK],
A.[CourseMoaSK],
A.[CboSK],
A.[CourseTaughtAbroadSK],
A.[ApplicationStatusSK],
A.[ApplicationFeeStatusSK],
A.[DecisionResponseSK],
A.[NationalityCountrySK],
A.[DomicileCountrySK],
A.[TargetRegionSK],
A.[InternationalSponsorSK] INTO dbo.[BaseTable3yrs]
FROM Student.FactApplicationSnapshot A
INNER JOIN Conformed.DimDate AS B ON A.[CensusDateSK] = B.[DateSK]
INNER JOIN Conformed.DimDate AS C ON A.[AcademicYearStartDateSK] = C.[DateSK]
INNER JOIN Conformed.DimDate AS D ON A.[ApplicationDateSK] = D.[DateSK]
INNER JOIN Student.DimCourse ON A.CourseSK = Student.DimCourse.CourseSK
WHERE (((B.CurrentAcademicYear) In (0,-1))
AND ((A.ApplicationCensusSK) In (1,2,5))
AND ((Student.DimCourse.DepartmentShortName)= 'TEACH ED'));
/* the query to check that the result it's correct or not, and I check it by academic week of year, and I found that I am lossing some data, and I have some extra data, means maybe join is wrong*/
select * from [BaseTable3yrs]
where [StudentCodeBK]= '26002423'
AND [ApplicationSequenceNoBK] = '0101'
order by [AcademicWeekOfYear]