Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

दिनांक भाग के लिए MySQL क्वेरी

यह अनिवार्य रूप से मोस्टी के उत्तर जैसा ही है लेकिन केवल एक बार होने वाली घटनाओं को पुनर्प्राप्त करने के लिए बाएं जॉइन के साथ। यह आज के सभी ईवेंट पुनर्प्राप्त करेगा।

SELECT *
FROM `tblEvent`
LEFT JOIN `tblEventRecurring`
    ON `tblEvent`.`id` = `tblEventRecurring`.`event_id`
WHERE (`tblEvent`.`date` = CURRENT_DATE AND `tblEventRecurring`.`event_id` IS NULL)
OR (
    CURRENT_DATE BETWEEN `tblEvent`.`date` AND `tblEventRecurring`.`end_date`
    AND (
        (`tblEventRecurring`.`date_part` = 'D') OR
        (`tblEventRecurring`.`date_part` = 'W' AND DAYOFWEEK(`tblEvent`.`date`) = DAYOFWEEK(CURRENT_DATE)) OR
        (`tblEventRecurring`.`date_part` = 'M' AND DAYOFMONTH(`tblEvent`.`date`) = DAYOFMONTH(CURRENT_DATE))
    )
)

मुझे यकीन नहीं है कि यह आपके किसी काम का है या नहीं, लेकिन मैंने सोचा कि मैं इसे वैसे ही पोस्ट कर दूंगा जैसा मैंने अभी किया है

SELECT *
FROM `date_list`
LEFT JOIN (
    SELECT `tblEvent`.`id`, `tblEvent`.`date`, `tblEvent`.`name`, `tblEventRecurring`.`date_part`, `tblEventRecurring`.`end_date`
    FROM `tblEvent`
    LEFT JOIN `tblEventRecurring`
        ON `tblEvent`.`id` = `tblEventRecurring`.`event_id`
) AS `events`
    ON (
        `events`.`date` = `date_list`.`date`
    )
    OR (
        `date_list`.`date` BETWEEN `events`.`date` AND `events`.`end_date`
        AND (
            (`events`.`date_part` = 'D') OR
            (`events`.`date_part` = 'W' AND DAYOFWEEK(`events`.`date`) = DAYOFWEEK(`date_list`.`date`)) OR
            (`events`.`date_part` = 'M' AND DAYOFMONTH(`events`.`date`) = DAYOFMONTH(`date_list`.`date`))
        )
    )
WHERE `date_list`.`date` BETWEEN '2012-02-06' AND '2012-02-12'
ORDER BY `date_list`.`date`;

यह एक date_list मानता है एक date . से युक्त तालिका दिनांकों की एक सतत सूची युक्त फ़ील्ड।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कौन सा तेज और हल्का है - mysqli और PDO

  2. Mysql और php में समय के मुक्त ब्लॉक ढूँढना?

  3. PHP में लूप के लिए मल्टी लेवल

  4. बहुआयामी सरणी क्वेरी mysql

  5. पीडीओ तैयार बयानों के लिए सटीक स्ट्रिंग मैच को बाध्य करें