البرمجة

تحويل بيانات الأعمدة إلى صفوف في SQL Server

لتحويل البيانات من تصميم العمود إلى تصميم الصف في قاعدة بيانات SQL Server، يمكنك استخدام العديد من الطرق، من بينها استخدام الجداول المؤقتة مع استخدام دالة النوافذ (Window Function) أو استخدام دالة PIVOT المدمجة في SQL Server.

سنستخدم في هذا المثال دالة PIVOT لتحويل البيانات. سنبدأ بإنشاء استعلام يقوم بتحويل البيانات من تصميم العمود إلى تصميم الصف كما طلبت. الاستعلام سيقوم بتحويل الأعمدة CODENUMBER إلى أعمدة ICD1، ICD2، ICD3، و ICD4.

إليك الاستعلام:

sql
SELECT CLAIMID, MAX(CASE WHEN rn = 1 THEN CODENUMBER END) AS ICD1, MAX(CASE WHEN rn = 2 THEN CODENUMBER END) AS ICD2, MAX(CASE WHEN rn = 3 THEN CODENUMBER END) AS ICD3, MAX(CASE WHEN rn = 4 THEN CODENUMBER END) AS ICD4 FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY CLAIMID ORDER BY CODENUMBER) AS rn FROM YourTableName ) AS sub GROUP BY CLAIMID;

في هذا الاستعلام، نقوم أولاً بترقيم الصفوف لكل CLAIMID باستخدام ROW_NUMBER() ونعتبر هذا الرقم كتسلسل لأعمدة ICD المحولة. ثم نستخدم دالة CASE مع الدالة MAX لتحويل البيانات من التصميم العمودي إلى التصميم الصفي.

يرجى استبدال YourTableName بالاسم الصحيح للجدول الذي تحتوي عليه البيانات.

باستخدام هذا الاستعلام، يجب أن تحصل على النتيجة المطلوبة التي تمثل CLAIMID مع الأعمدة ICD1، ICD2، ICD3، و ICD4 كما طلبت.

يرجى ملاحظة أنه قد يتطلب استخدام PIVOT في بعض الحالات تحديد قيم ثابتة لأعمدة الصفوف المحولة مما قد يقيد مرونة الحل، لذا استخدمت هنا الحل الذي يوفر مزيدًا من المرونة في عمليات التحويل.

المزيد من المعلومات

بالطبع، ها هي المزيد من المعلومات حول العملية وبعض النصائح الإضافية:

  1. استخدام دالة ROW_NUMBER(): في الاستعلام السابق، قمنا باستخدام دالة ROW_NUMBER() لترقيم الصفوف داخل كل مجموعة CLAIMID. هذا يساعدنا في تحديد موقع كل قيمة CODENUMBER وتحويلها إلى العمود المناسب في التصميم الصفي.

  2. استخدام دالة CASE و MAX(): لتحويل البيانات من التصميم العمودي إلى التصميم الصفي، استخدمنا دالة CASE مع دالة MAX(). هذا يسمح لنا بتحديد القيمة المناسبة لكل عمود ICD في كل صف.

  3. استخدام GROUP BY: في الاستعلام النهائي، استخدمنا GROUP BY مع MAX() لضمان أن كل CLAIMID لديها سطر واحد فقط في النتيجة النهائية. هذا يتيح لنا تجميع البيانات بناءً على CLAIMID وتحويل القيم المقابلة إلى الأعمدة المناسبة.

  4. تحديد الجدول الصحيح: تأكد من استبدال “YourTableName” بالاسم الصحيح للجدول الذي تحتوي عليه البيانات في قاعدة البيانات الخاصة بك. هذا يضمن أن يتم تطبيق الاستعلام على البيانات الصحيحة.

  5. المرونة في الحلول: على الرغم من أن استخدام PIVOT يمكن أن يكون خيارًا في بعض الحالات، إلا أن الحل الذي استخدمناه هنا يوفر مزيدًا من المرونة ويمكن تطبيقه على مجموعة متنوعة من الحالات دون الحاجة إلى تحديد قيم ثابتة للأعمدة المحولة.

باستخدام هذه النصائح والمعلومات الإضافية، يمكنك تحويل البيانات بكفاءة وتنظيمها كما تريد في قاعدة بيانات SQL Server.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر