здесь нужна некоторая помощь ... Мне удается сделать запуск с MS-ACCES запросом, который объединяет подзапрос.
SELECT
TS3.YearTimeSheet,
Ress1.[Complete Name],
Rates2.[Applicable Currency],
Rates2.[Applicable Rate],
TS3.WeekTimeSheet,
Sum(TS3.TotalWeek) AS [Total Hrs],
Sum([TotalWeek]*[Applicable Rate]*(1+[WAO])) AS [Cost Incl WAO]
FROM
(
[Resources Rates] AS Rates2
INNER JOIN Resources AS Ress1 ON Rates2.StaffID = Ress1.STAFFID
)
INNER JOIN TimeSheets AS TS3 ON Ress1.STAFFID = TS3.STAFFID
WHERE Rates2.[Applicable Rate] = (
SELECT [Resources Rates].[Applicable Rate]
FROM [Resources Rates]
WHERE
[Resources Rates].[StaffID]= [Rates2].[StaffID]
AND DatePart('yyyy', [Resources Rates].[Starting Date]) = [TS3].[YearTimeSheet]
AND NOT DatePart('ww', [Resources Rates].[Starting Date])>=[TS3].WeekTimeSheet
AND NOT DatePart('ww', [Resources Rates].[Ending Date])< [TS3].WeekTimeSheet
)
GROUP BY
TS3.YearTimeSheet,
Ress1.[Complete Name],
Rates2.[Applicable Currency],
Rates2.[Applicable Rate],
TS3.WeekTimeSheet;
К сожалению, при попытке преобразовать его в Pivot ... ошибка!«Изучите основы доступа Microsoft Access». TS3.WeekTimeSheet «исправьте правильное выражение лица».В английском языке Access не распознает TS3.WeekTimeSheet как поле.
Насколько я понимаю, объявление этой переменной находится в конце инструкции и поэтому не может быть использовано раньше?Он работает в обычном подзапросе ... в инструкции TRANSFORM PIVOT.Конечно, неправильный метод ... Пожалуйста, помогите ниже инструкции SQL, однако работает, когда я форсирую критерии со статическими данными.Я делаю конечно что-то не так в структуре с нижеприведенным.Я думал, что ниже следует сделать эту работу.Есть идеи, что я делаю не так?
TRANSFORM Sum(TS3.TotalWeek) AS WeekSum
SELECT TS3.YearTimeSheet,
Ress1.[Complete Name],
RatesBis.[Applicable Currency],
RatesBis.[Applicable Rate],
Sum(TS3.TotalWeek) AS [Total Hrs],
Sum([TotalWeek]*RatesBis.[Applicable Rate]*(1+[WAO])) AS [Cost Incl WAO]
FROM Resources AS Ress1 INNER JOIN TimeSheets AS TS3 ON Ress1.STAFFID = TS3.STAFFID,
(
SELECT [Resources Rates].[Applicable Currency], [Resources Rates].[Applicable Rate]
FROM [Resources Rates]
WHERE [Resources Rates].[StaffID]=Ress1.STAFFID
AND NOT DatePart('ww', [Resources Rates].[Starting Date])>= TS3.WeekTimeSheet
AND NOT DatePart('ww', [Resources Rates].[Ending Date])< TS3.WeekTimeSheet
) AS RatesBis
GROUP BY
TS3.YearTimeSheet,
Ress1.[Complete Name],
RatesBis.[Applicable Currency],
RatesBis.[Applicable Rate]
PIVOT TS3.WeekTimeSheet;