現在、チーム内のメンバーとその現在の役割(別のテーブルから検索)を示すクエリがあります。
SELECT firstName + ' ' + lastName as Name,
RTS_ROLE.roleDescription as `Current Role`,
FROM RTS_STAFF, RTS_ROLE
WHERE RTS_STAFF.staffRole = RTS_ROLE.roleID
AND staffDeleted <> true
ORDER BY roleID;
そして、各人が働いた週の時間をリストする別のクエリ:
SELECT RTS_STAFF.staffId, Sum(IIf(Isnull(Monday),0,Monday)
+IIf(Isnull(Tuesday),0,Tuesday)
+IIf(Isnull(Wednesday),0,Wednesday)
+IIf(Isnull(Thursday),0,Thursday)
+IIf(Isnull(Friday),0,Friday)) AS `Weekly Hours`
FROM WORKING_HOURS, RTS_STAFF
WHERE RTS_STAFF.staffId = WORKING_HOURS.staffID
AND Date() > WORKING_HOURS.EffectiveFrom
GROUP BY RTS_STAFF.staffId;
私は(失敗して)2番目のクエリを最初のクエリとしてアベイルズなしでサブクエリとして配置することによってこれらのクエリを結合しようとしました:私は得ています'あなたは'でEXISTキーワードを使用せずに複数のフィールドを返すことができるサブクエリを書きましたメインクエリ...」
同じクエリからスタッフ名、役割名、および「現在の」総労働時間を表示するクエリを取得しようとしています。誰かが私にこれをどのように達成できるか、または私が間違っていることの手がかりを教えてもらえますか(恥ずかしいほど単純なことは間違いありません)。
それが助けになるならば、より多くの情報を提供してうれしいです。
Table structure:
RTS_ROLE: (lookup table)
(pk)RoleID: number
roleDescription: string
RTS_STAFF
(pk)staffId: number
firstName: string
lastName: string
staffRole: number (fk to RTS_ROLE.roleID)
staffDeleted: boolean
WORKING_HOURS:
(pk)workingWeekID: number
staffID: number (fk to RTS_STAFF.staffId)
Monday: number
Tuesday: number
...
Friday:number
EffectiveFrom: date
私たちはMSAccess2007を使用しています(笑わないでください)