2012-06-17 3 views
1

현재 내가 가지고이 : 오늘의 예약 날짜가마다 특정 요일, SQL 및 PHP

SELECT `deals`.*, deals_bookings.date AS 'b_date', deals_bookings.id AS 'book_id' 
FROM `deals_bookings` 
INNER JOIN deals ON (deals.ID = deals_bookings.deal_id) 
INNER JOIN users ON (users.id = deals.partner_id) 
INNER JOIN deals_bookings_times ON (deals_bookings_times.book_id = deals_bookings.id) 
WHERE 1 AND deals_bookings.date = CURDATE() AND users.company_type = 'restaurant' 

이 거래를 잡고, (CURDATE()를).

는 지금은 열을 추가 한 : deals_bookings.everyWeekDay

해당 열의 계획은 상점의 주 번호입니다 -> 1-7 사이에 1 월요일은 (주 첫날), 7은 일요일입니다.

순수 mysql 쿼리를 사용하면 deals_bookings.date = CURDATE() 또는 deals_bookings.everyWeekDay = 오늘의 주 번호가있는 모든 거래를 선택할 수 있습니까?

+0

당신이 [MySQL의 설명서]를 보면 (http://dev.mysql.com/doc/refman/5.5/en/date-and 결합 1

를 추가해야 -time-functions.html)에는 몇 가지 날짜 함수가 있는데, 그 중 일부는'DAYOFWEEK()','DAYOFYEAR()','HOUR()'입니다. –

+0

답변으로 작성하십시오! – Karem

답변

1

너는 사용하고 싶다 deals_bookings. everyWeekDay = 평일 (NOW())

그러나 WEEKDAY는 월요일 - 일요일, 일요일 - 6을 반환합니다. 그래서 우리는 조건

WHERE (`deals_bookings`.`date` = CURDATE() OR `deals_bookings`.`everyWeekDay` = WEEKDAY(NOW()) + 1) AND `users`.`company_type` = 'restaurant' 
+0

다음은 "바이올린"입니다. http://sqlfiddle.com/#!2/dcd90/8 –