"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إنشاء جدول محوري ديناميكي في MySQL باستخدام أسماء الأعمدة الصحيحة؟

كيفية إنشاء جدول محوري ديناميكي في MySQL باستخدام أسماء الأعمدة الصحيحة؟

تم النشر بتاريخ 2025-01-20
تصفح:766

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

جدول MySQL المحوري الديناميكي بأسماء الأعمدة الصحيحة

يشكل إنشاء جدول محوري ديناميكي بأسماء الأعمدة الصحيحة في MySQL تحديًا بسيطًا. عند تشغيل الاستعلام المقدم، قد تواجه خطأ إذا كانت قيم user_id أعدادًا صحيحة. لحل هذه المشكلة، نحتاج إلى تغليف قيم user_id في العلامات الخلفية (`).

يبدو استعلام SQL المعدل كما يلي:

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;

التعديل الرئيسي هنا هو إضافة علامات خلفية حول قيم user_id في بيان GROUP_CONCAT. من خلال القيام بذلك، نحن نضمن أن قيم user_id يتم التعامل معها كسلاسل بدلاً من أسماء الأعمدة.

عرض SQL Fiddle التجريبي: https://sqlfiddle.com/#!2/eab24/ 4

الآن، حتى مع وجود قيم user_id الصحيحة، سيتم إنشاء الجدول المحوري الديناميكي بنجاح.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3