Hi,

been away for a while and am obviously rusty.

Please assume 'today' is Saturday.

I am trying to output the days on which a product is available either side of today. So it could be Thursday and Tuesday. I have tried using the following query to return the max(day_of_week) before today - which is in fact Friday but, it returns 'Monday'.

here's the table

Code MySQL:
CREATE TABLE `product_times` (
 `id` bigint(20) NOT NULL AUTO_INCREMENT,
 `product_on_sale_id` bigint(20) NOT NULL,
 `day_of_week` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL,
 `time_of_day` time DEFAULT NULL,
 `max_spaces` varchar(6) COLLATE utf8_unicode_ci DEFAULT NULL,
 `spaces_sold` int(11) DEFAULT NULL,
 `remaining_spaces` varchar(6) COLLATE utf8_unicode_ci DEFAULT NULL,
 `on_off` char(3) COLLATE utf8_unicode_ci DEFAULT NULL,
 PRIMARY KEY (`id`),
 UNIQUE KEY `product_on_sale_id` (`product_on_sale_id`,`day_of_week`,`time_of_day`),
 CONSTRAINT `productTimes_productsOnSale_fk` FOREIGN KEY (`product_on_sale_id`) REFERENCES `products_on_sale` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1985 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

and the query

Code MySQL:
  select max(day_of_week) 
    from product_times as pt
 inner 
     join products_on_sale as pos
      on pos.id = pt.product_on_sale_id
    and pos.product_range_id = 199
 where pt.day_of_week < 'Saturday'

I can't seem to work out what I think should be easy.
bazz