Hello everyone
I have a working Query that selects some columns from the tbl_dailyStatistic. I want to modify it to where it only takes the entries with the highest value for each day (column dateTime_now).
Working Query:
SELECT Format(t1.dateTime_now,"yyyy-mm-dd hh:nn") AS dateTime_now, t1.HotelSelected, t1.revPar_self, t1.revPar_low, t1.revPar_high, t1.revPar_reference, t1.revPar_percentageDifference, t1.revPar_percentageTarget, t1.Comment, t1.percentageTO_self*100 AS percentageTO_self, t1.percentageTO_low*100 AS percentageTO_low, t1.percentageTO_high*100 AS percentageTO_high, t1.percentageTO_reference*100 AS percentageTO_reference, t1.averagePrice_self, t1.averagePrice_low, t1.averagePrice_high, t1.averagePrice_reference
FROM tbl_dailyStatistic AS t1
WHERE (((t1.HotelSelected)=[Formulare]![frm_CreateDailyChart]![HotelSelected_daily]) AND ((t1.dateTime_now)>=[Formulare]![frm_CreateDailyChart]![startDatePicker] And (t1.dateTime_now)<=([Formulare]![frm_CreateDailyChart]![endDatePicker])+1));
In mysql i would try to achieve my goal by joining a subquery which finds the maximum dateTime_now for each date. Like this:
Code:
SELECT Format(t1.dateTime_now,"yyyy-mm-dd hh:nn") AS dateTime_now, t1.HotelSelected, t1.revPar_self, t1.revPar_low, t1.revPar_high, t1.revPar_reference, t1.revPar_percentageDifference, t1.revPar_percentageTarget, t1.Comment, t1.percentageTO_self*100 AS percentageTO_self, t1.percentageTO_low*100 AS percentageTO_low, t1.percentageTO_high*100 AS percentageTO_high, t1.percentageTO_reference*100 AS percentageTO_reference, t1.averagePrice_self, t1.averagePrice_low, t1.averagePrice_high, t1.averagePrice_reference
FROM tbl_dailyStatistic AS t1
INNER JOIN
(
SELECT Format(dateTime_now,"yyyy-mm-dd hh:nn") AS dateTime_now, MAX(dateTime_now) AS max_dateTime_now
FROM tbl_dailyStatistic
GROUP BY dateTime_now
) t2
ON t2.dateTime_now = t1.dateTime_now AND
t2.max_dateTime_now = t1.dateTime_now
WHERE (((t1.HotelSelected)=[Formulare]![frm_CreateDailyChart]![HotelSelected_daily]) AND ((t1.dateTime_now)>=[Formulare]![frm_CreateDailyChart]![startDatePicker] And (t1.dateTime_now)<=([Formulare]![frm_CreateDailyChart]![endDatePicker])+1));
But this SQL doesnt work anymore. Can someone help me with what im doing wrong? The error message i get in german translates roughly to "Alias 'dateTime_now' causes a circelreference in the SELECT-List of the querydefinition").
Any ideas/help would be greatly appreciated!
Thanks for reading.