I have a table that has a date field (schedule\_date) and a varchar field (schedule time) holding the an hour number (0..23) as a String. 

I've got two queries:

**Query 1) Returns any upcoming schedules**:  

a) anything with date > today  

b) AND anything where the date matches the current date but the hour > the current hour

**Query 2) Returns 1 record** - the last run schedule time

I've been trying to figure out how to combine the two, but I'm not sure how to deal with the two problems involved that go past a simple union. I'm guessing sub queries would be involved but I'm at the limit of my SQL skills here.

**Problem 1):** Only the 2nd query needs "LIMIT 1" - how to apply just to query 2?

**Problem 2):** The second query needs a DESC order for the LIMIT 1 to work correctly
but I need the results of both queries combined in ASC order

note: adding + 1 hour to current time below (store dates are in EST, server returns CST for NOW)

**QUERY 1: Returning any upcoming schedules**

```
SELECT schedule_date,  CONVERT(schedule_time, DECIMAL) AS schedule_time
FROM special_schedules
WHERE schedule_date > DATE(NOW())
UNION 
SELECT schedule_date,  CONVERT(schedule_time, DECIMAL) AS schedule_time
FROM special_schedules
WHERE schedule_date = DATE(NOW())
AND CONVERT(schedule_time, DECIMAL) > (HOUR(CURRENT_TIME()) + 1)

```

**QUERY 2: Return the last turn schedule**
(needs the DESC order for the LIMIT 1 to position on the last schedule)

```
SELECT schedule_date,  CONVERT(schedule_time, DECIMAL) AS schedule_time
FROM special_schedules
WHERE schedule_date = DATE(NOW())
AND CONVERT(schedule_time, DECIMAL) < (HOUR(CURRENT_TIME()) + 1)
UNION
SELECT schedule_date,  CONVERT(schedule_time, DECIMAL) AS schedule_time
FROM special_schedules
WHERE schedule_date < DATE(NOW())
ORDER BY schedule_date DESC, schedule_time DESC
LIMIT 1

```

edit: corrected ORDER above (should have been by DESC)

**If combined, need to sort the results of both combined into ASC:**

```
ORDER BY schedule_date ASC, schedule_time ASC

```

Thank You!