Ich habe eine Tabelle wie diese, um die Ergebnisse einer medizinischen Untersuchung und das Datum des Berichts gesendet und das Ergebnis zu speichern. Tatsächlich basiert das gesendete Datum auf dem clinic_visit-Datum. Ein Client kann einen oder mehrere Berichte haben (Datum Mai variiert)PostgreSQL: Wie kombiniert man mehrere Zeilen?
---------------------------------------
| 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 |
---------------------------------------
ich den folgenden Bericht aus den obigen Daten extrahieren möchten.
---------------------------------------------------
| client_id | result1 | result2 | resut3 |
---------------------------------------------------
| 1 | A | B | |
| 2 | D | | |
| 3 | A | C | E |
| 4 | D | E | |
| 5 | B | | |
---------------------------------------------------
Ich arbeite an Postgresql. Die "Kreuztabellen" -Funktion wird hier nicht funktionieren, da "date_sent" nicht für jeden Client konsistent ist.
Kann jemand bitte eine ungefähre Idee geben, wie es abgefragt werden sollte?
Ihre Lösung funktioniert, aber ich denke, das OP will die Daten wie in der Frage tabelliert, so dass es einfach ist sehen wo leere Einträge sind (Client 1 hat zB kein Ergebnis E). – SabreWolfy
@SabreWolfy: aktualisiert –
Diese Antwort löst das Problem und sollte vom OP akzeptiert werden. – SabreWolfy