0
職員がEmploymentテーブルに複数の行を持っていても、EmploymentAssignment行ごとに1行しか取得できません。私は(Person、Identity、EmploymentAssignment、School and Departmentから来た既存のstaffMemberビューからのフィールドを含む)新しい地区に "districtStart"というエイリアスを入れて、Employment.startDateを報告する。)これは私の試験の質問です。 1つの課題だけを引き出す方法を理解することはできません。これは私が持っているものであり、彼女はそれが正しいと言いますが...それは複数の課題を引っ張っています。どんな援助も、私の頭を壁に打ちつけるのを止めるだろう。私はSQLを学び、学校のシステムのために働いています
SELECT
p.personID,
p.stateID,
p.staffNumber,
p.staffStateID,
i.identityID,
i.effectiveDate,
i.lastName,
i.firstName,
i.middleName,
i.suffix,
i.alias,
i.gender,
i.birthdate,
i.ssn,
i.raceEthnicity,
ea.assignmentID,
ea.startDate,
MIN(e.startdate) AS DistrictStart,
ea.endDate,
ea.title,
ea.type,
ea.teache,
ea.specialEd,
ea.behavior,
ea.health,
ea.advisor,
ea.supervisor,
ea.foodservice,
ea.departmentID,
s.schoolID,
s.name schoolName,
s.number schoolNumber,
d.name departmentName,
ea.excludeReferral,
ea.counselor
FROM dbo.Person p WITH (NOLOCK)
INNER JOIN dbo.[Identity] i WITH (NOLOCK)
ON p.currentIdentityID = i.identityID
INNER JOIN dbo.Employment e
ON e.personID = p.personID
INNER JOIN dbo.EmploymentAssignment ea WITH (NOLOCK)
ON p.personID = ea.personID
INNER JOIN dbo.School s WITH (NOLOCK)
ON s.schoolID = ea.schoolID
LEFT OUTER JOIN dbo.Department d WITH (NOLOCK)
ON d.departmentID = ea.departmentID
GROUP BY e.startdate,
p.personID,
p.stateID,
p.staffNumber,
p.staffStateID,
i.identityID,
i.effectiveDate,
i.lastName,
i.firstName,
i.middleName,
i.suffix,
i.alias,
i.gender,
i.birthdate,
i.ssn,
i.raceEthnicity,
ea.assignmentID,
ea.startDate,
ea.endDate,
ea.title,
ea.type,
ea.teacher,
ea.specialEd,
ea.behavior,
ea.health,
ea.advisor,
ea.supervisor,
ea.foodservice,
ea.departmentID,
s.schoolID,
s.name,
s.number,
d.name,
ea.excludeReferral,
ea.counselor
おっと!あなたはそれをAccessからコピーしましたか?おそらく、正しい句読点と大文字で質問してみるべきでしょう。 –
可能性が高いSQLサーバー。アクセスは、複数のレベルのネストされた '()'ペアにジョインを入れ、 '[]'をすべてのフィールド名の周りに置き、そうでなければそれを読みにくくするでしょう。 –
TSQLのようです。どのSQL変種ですか? – Trinidad