2014-02-21 2 views
0

저는 죽은 사람이 가장할만한 것으로 책상에 머리를 대고있었습니다.현재 날짜 전후의 데이터 세트를 비교하십시오.

데이터베이스에는 다른 콘센트의 제품 모음이 있으며, 각각 만기일은 표준 MySQL yyyy-mm-dd입니다. 어떤 아웃렛이 현재 오퍼를 제공하지 않는지, 어떤 아웃렛을 제공 하는지를 표시하는 방법을 찾고 있습니다.

현재
Outlet 2 
Outlet 4 
Outlet 5 

난 그냥 하나

  • 현재의 목록을 가지고 : 없음 특별와

    Outlet 1 
    Outlet 3 
    Outlet 7 
    

    판로 : 스페셜과

    판로 : 같은 순간에 내 페이지가 보인다 스페셜 또는

  • 만료 특가

하지만 현재 콘센트 중 어떤 것이 특별하지 않은지 표시하고 싶습니다.

뭔가 같은 :

SELECT outlet 
FROM `specials` 
WHERE `end_date` < '$today' 
GROUP BY `outlet` 
ORDER BY outlet ASC 
WHERE outlet also doesn't have any specials after today's date 

어떤 아이디어가?

SELECT outlet 
FROM specials 
GROUP BY outlet 
HAVING max(end_date) < '$today' 
ORDER BY outlet ASC; 

참고 :

+0

end_date

답변

0

난 당신이 오히려 where 절에서 필터링보다는 having 절에 최대 end_date보고 싶은 생각이 현재 날짜로 날짜 비교를 사용하는 경우, 대신 now()를 사용 응용 프로그램에 설정된 변수의 값. $today이 실제로 날짜가 될 수 있다면 변수를 사용하여 변수를 전달하십시오 (매개 변수는 변수 전달을위한 문자열 대체보다 우수함).

+0

아름답게 작동합니다! 감사합니다 고든, 많이 감사드립니다! – Sunfire

관련 문제