У меня есть 2 таблицы:
пациент:
| patientid | name | address |
| 45 | jelle | adres 2 |
| 23 | piet | adres 6 |
| 11 | kees | adres 4 |
повестка дня:
| agendaid | patientid | datum | time |
| 1 | 45 | 2020-05-12 | 12:05 |
| 2 | 45 | 2020-07-11 | 16:02 |
| 3 | 11 | 2020-02-10 | 10:35 |
Я хочучтобы получить всех пациентов с их предстоящим назначением от agenda
Я попытался выполнить этот запрос:
SELECT * FROM patient LEFT JOIN agenda ON patient.patientid = agenda.patientid WHERE agenda.datum >= CURDATE()
Но этот возвращает только тех пациентов, у которых назначена встреча в будущем. Я хочу принять всех пациентов, даже если у них не будет назначения в будущем.
Желаемый результат должен быть следующим:
| patientid | name | address | agendaid | patientid | datum | time |
| 45 | jelle | adres 2 | 2 | 45 | 2020-07-11 | 16:02 |
| 23 | piet | adres 6 | | | | |
| 11 | kees | adres 4 | 3 | 11 | 2020-02-10 | 10:35 |
Кто-нибудь знает, как этого добиться? Я создал SQL fiddle
для вас, ребята, чтобы проверить! http://sqlfiddle.com/#!9/6eecc4/1
Как вы можете видеть, он возвращает несколько строк для каждого пациента, когда у него есть несколько назначений, и не возвращает пациентов, у которых нет назначений в будущем.