比較日期我有兩個表在MySQL子查詢
class
-------------
id name
-------------
1 Knives
2 Pastries
class_date
-------------
get_id start_date
-------------
1 2017-10-09
1 2017-11-15
1 2017-12-03
2 2017-10-30
類「刀」是具有多個日期的系列。班級'糕點'只在一個日期提供。
我希望我的結果基於2017年10月10日(或當前日期)。在我的搜索中,我只希望根據第一次約會的結果 - 在這種情況下,2017年10月9日「刀具」的日期應該取消它在結果中顯示的資格。 '糕點'應該出現。
我不知道我是否應該做一個左外部聯接或子查詢。我已經嘗試過兩種,但都沒有成功 - 但我可能沒有正確地做。
這是我的嘗試:
SELECT *
FROM class, class_date WHERE
class_date.get_id = class.id &&
(SELECT DATE(start_date)
FROM class, class_date WHERE
class_date.get_id = classes.id
ORDER BY class_date.start_date ASC
LIMIT 1
) > CURDATE()
ORDER BY class_date.start_date ASC
和
SELECT *
FROM class
LEFT OUTER JOIN
class_date ON
class_date.get_id = classes.id
WHERE
class_date.start_date > CURDATE()
GROUP BY classes.class_id
ORDER BY class_dates.start_date ASC
我有一種感覺,子查詢是要走的路,但我沒有得到任何結果。如果我使用<而不是>我得到太多結果。任何幫助,將不勝感激。
我覺得你的描述混淆刀和糕點。 –