[英]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.