Das Erstellen einer dynamischen Pivot-Tabelle mit ganzzahligen Spaltennamen in MySQL stellt eine leichte Herausforderung dar. Beim Ausführen der bereitgestellten Abfrage kann ein Fehler auftreten, wenn die user_id-Werte ganze Zahlen sind. Um dieses Problem zu beheben, müssen wir die user_id-Werte in Backticks (`) umschließen.
Die angepasste SQL-Abfrage sieht so aus:
SET @sql = NULL; SELECT GROUP_CONCAT(DISTINCT CONCAT( 'max(case when user_id = ''', user_id, ''' then score end) AS `', user_id, '`' ) ) INTO @sql FROM measure2; SET @sql = CONCAT('SELECT inspection_date, ', @sql, ' FROM measure2 GROUP BY inspection_date'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
Die wichtigste Änderung hier ist das Hinzufügen von Backticks um die user_id-Werte in der GROUP_CONCAT-Anweisung herum. Dadurch stellen wir sicher, dass die user_id-Werte als Zeichenfolgen und nicht als Spaltennamen behandelt werden.
SQL Fiddle Demo: https://sqlfiddle.com/#!2/eab24/ 4
Jetzt wird die dynamische Pivot-Tabelle auch mit ganzzahligen user_id-Werten erfolgreich generiert.
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine dynamische Pivot-Tabelle in MySQL mit ganzzahligen Spaltennamen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!