• 0
MohamedAliSalim

إنشاء كود تسلسلي للـ children مكون من أكواد الـ Parents من نفس الجدول

سؤال

السلام عليكم

عندي جدول به Self relation

يحتوي على ( ID,Code,ParentID )

طبعاً الـ ParentID فيه رقم من الــ ID  ( اللي هو Self relation )

انا محتاج Query  تنشئ كود بناءً على الشجرة دي مستعيناً بالــ

Row_Number()
ROW_NUMBER()OVER (PARTITION BY ParentID ORDER BY ID) rn 

 

حد قدر يفهمني ؟ 

شكراً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0
 ;
  WITH cte
  AS (SELECT
      ID
     ,CAST(ROW_NUMBER() OVER (PARTITION BY ParentID ORDER BY id) AS VARCHAR(MAX)) AS [path]
    FROM YourTable
    WHERE ParentID IS NULL
    UNION ALL
    SELECT
      a.ID
     ,[path] + CAST(ROW_NUMBER() OVER (PARTITION BY a.ParentID ORDER BY a.id) AS VARCHAR(MAX))
    FROM cte
    JOIN YourTable a
      ON cte.ID = a.ParentID)


  UPDATE YourTable
  SET SerialCode = [path]
  FROM cte c
  WHERE c.ID = YourTable.ID

أضف حقلا اسمه SerialCode
 إلى جدولك

ولاتنس تغيير اسم الجدول YourTable في هذا الكود إلى اسم جدولك

 

تنبيه لا تنس الفاصلة المنقوطة في الأول

تم تعديل بواسطه أحمد أبو عبد البر
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اكرمك الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .