簡體   English   中英

mysql select事件作為多個記錄

[英]mysql select event as multiple records

如何在多個記錄中選擇事件作為結果集中的天

例:

id     |     event    |     dateFrom            |       dateTo
1           festival     2012-06-15 01:18:00        2012-06-17 01:18:00

結果:

id    |  date
1       2012-06-15 
1       2012-06-16
1       2012-06-17  

你不能 最好的方法是制作一張包含一年中所有日期的簡單表格。 我做了一個簡單的存儲過程:

CREATE DEFINER = 'root_extern'@'%' PROCEDURE fill_calendar 
(
  IN  start_date  date,
  IN  end_date    date
)
BEGIN
  DECLARE crt_date DATE;
  SET crt_date=start_date;
  WHILE crt_date < end_date DO
    INSERT INTO `calendar` (`date`) VALUES (crt_date);
    SET crt_date = ADDDATE(crt_date, INTERVAL 1 DAY);
  END WHILE;
END|

您的查詢將如下所示: SELECT date FROM calendar WHERE date BETWEEN dateFrom AND dateTo

使用這樣的聯合:

(SELECT id, dateFrom date FROM table) UNION (SELECT id, dateTo date FROM table)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM