,所以我有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