Wie andere Kommentatoren darauf hingewiesen haben, zeigen Sie nicht genau an, wie Sie Menschen und Farben verknüpfen. Wenn Sie eine Verknüpfungstabelle (person_id, color_id) verwenden, gibt es keine Möglichkeit, dieses Problem in Standard-SQL zu lösen, da eine Pivot- oder Kreuztabelle erforderlich ist, die nicht zu Standard-SQL gehört.
Wenn Sie die Bedingung hinzufügen möchten, dass die Anzahl der Farben begrenzt und bekannt ist und die Entwurfszeit, können Sie eine Lösung mit einem Join für jede Farbe und CASE- oder IF-Funktionen in SQL erstellen. Aber das wäre nicht elegant, und außerdem würde ich diesem Zustand nicht vertrauen, um lange zu bleiben.
Wenn Sie in der Lage sind, eine andere Möglichkeit zum Speichern der Farbverknüpfungsinformationen zu finden, haben Sie möglicherweise mehr Möglichkeiten, die gewünschte Ausgabe zu erzeugen. Eine andere Speichertechnik bedeutet jedoch eine gewisse Denormalisierung der Datenbank andere Schwierigkeiten.
Andernfalls müssen Sie dies in einer gespeicherten Prozedur oder Anwendungscode tun.
Welche Datenbank? –
-1: Sie müssen uns mitteilen, welches DBMS Sie verwenden. –
Ich verwende ADO, um eine Verbindung zu einer Visual Foxpro DB herzustellen. – Harley