Dynamische Pivot-Tabellen in MySQL
Beim Versuch, eine Pivot-Tabelle mit dynamischen Spalten zu generieren, ist es wichtig, sicherzustellen, dass die Spaltennamen korrekt sind richtig gehandhabt. In der bereitgestellten Situation ist die Benutzer-ID eine Ganzzahl, die bei unsachgemäßer Formatierung zu Problemen führen kann.
Um dieses Problem zu beheben, müssen die Benutzer-ID-Werte in Backticks (`) eingeschlossen werden, um sie als Spaltennamen und anzugeben verhindern ihre Fehlinterpretation als numerische Werte. Hier ist die geänderte Abfrage:
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;
Diese Änderung stellt sicher, dass die user_id-Werte als Spaltennamen behandelt werden, was zu einer Pivot-Tabelle mit dynamischen Spalten führt, die jede eindeutige user_id und ihre entsprechenden Bewertungen darstellen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich dynamische Pivot-Tabellen mit ganzzahligen Spaltennamen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!