需要一些帮助... 我设法使使用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的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;