我需要帮助。我有一个包含开放数据的数据库表。我有开放日期和下一个开放日期列。目前我可以按日期范围进行搜索,它会显示所有开放日,包括开放日期和下一个开放日期。我想要做的是按日期排序,如果有一个下一个打开日期与那个日期,我想复制该行,所以当一个人向下滚动列表时,他们将看到相同的开放日,但下一个开放日期为重复。对此最好的做法是什么?目前我刚刚列出了一次开放日期和下一个日期。请帮忙。感谢
MYSQL表:
INSERT INTO `active_listings` (`ID`, `mls_id`, `address`, `city`, `state`, `zip`, `price`, `total_apx_sqft`, `bedrooms`, `bathrooms`, `listing_agent`, `listing_agent_id`, `listing_agent_office`, `school_district`, `open_date`, `next_open_date`, `time_from`, `time_to`, `next_time_from`, `next_time_to`, `photo_url`, `latitude`, `longitude`, `map_quality`, `map_zoom_level`, `update_date`, `public_remarks`, `agent_email`, `agent_website`, `agent_image`, `virtual_tour`, `area_grid`, `sub_division`, `acres`, `year_built`, `directions`) VALUES (1, '20144226', '1928 S Legacy Dr', 'Liberty Lk', 'WA', '99019', 270000, 1968, '4', '3', 'Karen Smith', '2245', 'Coldwell Banker', 'Central', '2014-12-20 00:00:00', '2014-12-21 00:00:00', '12:00 pm', '4:00 pm', '12:00 pm', '4:00 pm', NULL, '47.654011', '-117.114914', '0.95', '16', '2014-12-21 22:25:12', 'xxx', 'kar@gmail.com', 'www.sdf.com', NULL, '', 'A112/087', 'Parkside', '0', '2014', 'Liberty Lake Exit, right on Country Vista Dr.');
答案 0 :(得分:2)
如果我理解得很清楚,你可以简单地删除“next_open_date”列,并为同一个房子的每个open_date插入一行。
| house | open_date |
| h1 | 2014-12-10 |
| h2 | 2014-12-11 |
| h1 | 2014-12-15 |
或(多做一点工作)使用另一张表存储日期。
houses table: house open dates table:
| ID | house | | house_id | open_date |
| 1 | h1 | | 1 | 2014-12-10 |
| 2 | h2 | | 2 | 2014-12-11 |
| 1 | 2014-12-15 |
然后INNER JOIN你的选择:
SELECT a.house, b.open_date FROM houses a INNER JOIN open_dates b ON a.id = b.house_id;
这将导致每个open_date占一行。