I have the query below which returns all of the columns I am expecting. However, the date_met column is seeming to return a.) the same date for all results and b.) the wrong date for all results. It looks like it's really just picking the most current date in the date_start column, considering it's putting 2016-11-06, which IS a valid date_start, but it's outside of the main queries BETWEEN...
I am utterly terrible at sub-queries (which I'm pretty sure I do technically need), but I'm unsure where exactly I'm going wrong:
the_thresholds.threshold_snow AS snow_threshold,
SUM(certifications.total_snow) AS rollingTotal,
SUM(certifications.total_snow) >= the_thresholds.threshold_snow AS targetMet,
IF(SUM(certifications.total_snow) >= the_thresholds.threshold_snow,
0) AS dateMet
`customer_settings`.`snowfall_thresholds` AS the_thresholds
`snowfall_certification`.`the_certifications` AS certifications ON `the_thresholds`.`zipcode` = `certifications`.`zipcode`
`zipcodes`.`ziplatlongs` AS ziplatlongs ON `the_thresholds`.`zipcode` = `ziplatlongs`.`zipcode`
DATE(`certifications`.`date_start`) BETWEEN '2015-10-01' AND '2016-05-31'
GROUP BY `the_thresholds`.`zipcode`
As I said, it's returning all of the columns I expect, I just can't get it to put the correct dateMet when the SUM(certifications.total_snow) >= the_thresholds.threshold_snow was reached.