Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencipta Jadual Pangsi Dinamik dalam MySQL dengan Nama Lajur Integer?

Bagaimana untuk Mencipta Jadual Pangsi Dinamik dalam MySQL dengan Nama Lajur Integer?

Linda Hamilton
Lepaskan: 2024-11-16 18:51:03
asal
335 orang telah melayarinya

How to Create a Dynamic Pivot Table in MySQL with Integer Column Names?

Jadual Pangsi Dinamik MySQL dengan Nama Lajur Integer

Mencipta jadual pangsi dinamik dengan nama lajur integer dalam MySQL menimbulkan sedikit cabaran. Semasa menjalankan pertanyaan yang disediakan, anda mungkin menghadapi ralat jika nilai user_id ialah integer. Untuk menyelesaikan isu ini, kita perlu membalut nilai user_id dalam tanda belakang (`).

Pertanyaan SQL yang dilaraskan kelihatan seperti ini:

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;
Salin selepas log masuk

Pengubahsuaian utama di sini ialah penambahan tanda belakang sekitar nilai user_id dalam pernyataan GROUP_CONCAT. Dengan melakukan ini, kami memastikan bahawa nilai user_id dianggap sebagai rentetan dan bukannya nama lajur.

SQL Fiddle Demo: https://sqlfiddle.com/#!2/eab24/ 4

Kini, walaupun dengan nilai user_id integer, jadual pangsi dinamik akan dijana berjaya.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Jadual Pangsi Dinamik dalam MySQL dengan Nama Lajur Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan