,所以我有3代表在MySQLMYSQL - 加入多个日期 - 只得到第一次从加入
事件
| ID | event_name |
-------------------
| 1 | test |
| 2 | test2 |
| 3 | test3 |
sp_events
| ID | event_ID | show_in_grid |
--------------------------------
| 5 | 1 | 1 |
| 6 | 2 | 1 |
sp_event_dates
| ID | sp_event_ID | start_date |
------------------------------------------
| 1 | 5 | 2016-10-31 14:00:00 |
| 2 | 5 | 2016-11-01 14:00:00 |
| 3 | 5 | 2016-11-02 14:00:00 |
| 4 | 6 | 2016-12-01 14:00:00 |
| 5 | 6 | 2016-12-02 14:00:00 |
所以我试图加入sp_event_dates表,但我只想要第一个结果,并不想每个结果重复。
的SQL我用尽是
SELECT events.*, sp_event_dates.start_date FROM events
JOIN sp_events
ON sp_events.event_ID=events.ID
JOIN sp_event_dates ON sp_event_dates.sp_event_ID =
(SELECT dd.ID FROM sp_event_dates dd WHERE sp_events.ID =
dd.sp_event_ID ORDER BY dd.start_date ASC LIMIT 1)
WHERE sp_events.show_in_grid=1;
按预期这不起作用。我希望的结果,下面是:
| ID | event_name | start_date |
-----------------------------------------
| 1 | test | 2016-10-31 14:00:00 |
| 2 | test2 | 2016-12-01 14:00:00 |
我做的最终计划增加在起始日期where子句,但只是试图让这第一次合作。任何人都可以看到我做错了什么?
我的查询返回任何结果目前
表明您已经得到了输出。 –
你想要最早的或最近的事件日期吗? –
@Harshil这是虚拟数据,因为我不想把我的实际数据库信息放在这里。我可以将其设置为一个真正的数据库来获得输出 – Neil