2
我有2個數據庫。一個是properties
,另一個是dates
。在dates
我已關聯land_id和日期(以YYYYMMDD格式),這意味着日期是不可用。MySQL查詢,來自「黑名單」的日期範圍
我需要制定一個查詢,用戶可以指定開始日期和結束日期,然後選擇可用日期的屬性(不在date
數據庫中)。航空公司和酒店網站如何做這種邏輯?我正在考慮採用日期範圍並選擇所有日期,並在日期不匹配的情況下進行查詢,並按結果數量排序,但我可以看到這可能很容易變成激烈的查詢。
CREATE TABLE IF NOT EXISTS `dates` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`land_id` int(11) NOT NULL,
`date` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=44 ;
--
-- Dumping data for table `dates`
--
INSERT INTO `dates` (`id`, `land_id`, `date`) VALUES
(43, 1, '20100526'),
(39, 1, '20100522'),
(40, 1, '20100523'),
(41, 1, '20100521'),
(42, 1, '20100525');
專門爲日期設計的數據類型的存儲日期:'date' – zerkms 2010-05-18 22:02:16
zerkms,謝謝你的回覆,但是這並沒有解決拉動正確屬性所需的邏輯?:) – erbaker 2010-05-18 22:08:44
抱歉我經常編輯我的答案,我認爲現在應該可以...... – Simon 2010-05-18 22:08:48