Ich versuche, die Werte von 150 Spalten in die folgenden ändern;MYSQL- Mehrere Spalte Wert ändern
'0 = Not provided'
' 1 = Yes '
' 2 = No '
Ich konnte dies mit einer case-Anweisung für jede Spalte tun. Aber das Problem ist, es schafft alles in eine Spalte. Gibt es eine Möglichkeit, dies für jede einzelne Spalte zu tun, ohne 150 Fallanweisungen zu schreiben? Die Spalten müssen in einer bestimmten Reihenfolge sein.
Beispiel:
SELECT CASE
WHEN Answer.Question1_ID is null THEN 'Not Provided'
WHEN Answer.Question1_ID = 1 THEN 'Yes'
WHEN Answer.Question1_ID = 2 Then 'No'
End as 'Question1',
CASE
WHEN Answer.Question2_ID is null THEN 'Not Provided'
WHEN Answer.Question2_ID = 1 THEN 'Yes'
WHEN Answer.Question2_ID = 2 Then 'No'
End as 'Question2'
. . .
Von Antwort
Aus diesem Grund erstellen Sie * nie * Tabellen wie diese: Abfragen später werden zum Albtraum. –
WOW ... 150 Spalten: D –
so haben Sie Frage1 -> Frage150? Sie sollten wirklich wirklich diese Tabelle normalisiert haben, und dann ist es eine einfache/triviale Aktualisierungsabfrage für die Kindtabelle. –