У меня есть такая таблица, в которой хранятся результаты медицинского осмотра, дата отправки отчета и результат. На самом деле дата отправки основана на дате посещения клиники. У клиента может быть один или несколько отчетов (дата может быть разной)
---------------------------------------
| client_id | date_sent | result |
---------------------------------------
| 1 | 2001 | A |
| 1 | 2002 | B |
| 2 | 2002 | D |
| 3 | 2001 | A |
| 3 | 2003 | C |
| 3 | 2005 | E |
| 4 | 2002 | D |
| 4 | 2004 | E |
| 5 | 2004 | B |
---------------------------------------
Я хочу извлечь следующий отчет из приведенных выше данных.
---------------------------------------------------
| client_id | result1 | result2 | resut3 |
---------------------------------------------------
| 1 | A | B | |
| 2 | D | | |
| 3 | A | C | E |
| 4 | D | E | |
| 5 | B | | |
---------------------------------------------------
Я работаю над Postgresql. функция "crossstab" здесь не будет работать, потому что "date_sent" не соответствует каждому клиенту.
Кто-нибудь может дать примерное представление о том, как его следует запрашивать?