السلام عليكــم ورحمـة الله وبركاتــه ،،
لدي جدول يحتوي البيانات التالية
1 3 1 1 1 1 1 3 2 2 2 3 1 3 3 2 2 2 1 4 1 s s 3 1 4 2 2 2 5
أريد أن أقوم بعمل view يعيد لي النتائج التالية :
1 3 3 2 2 2 1 4 2 2 2 5
شكرا
السلام عليكــم ورحمـة الله وبركاتــه ،،
لدي جدول يحتوي البيانات التالية
1 3 1 1 1 1 1 3 2 2 2 3 1 3 3 2 2 2 1 4 1 s s 3 1 4 2 2 2 5
أريد أن أقوم بعمل view يعيد لي النتائج التالية :
1 3 3 2 2 2 1 4 2 2 2 5
شكرا
و عليكم السلام
بس سؤال أخي:
السطر الرابع من الجدول الأصلي هو
1 4 1 s s 3
أم
1 4 1 2 2 3
لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ
أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو
أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ
لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ
لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ
إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ
سأوضح السؤال أكثر
أريد الحصول على الطول lengths لأكبر قيمه حقل type_id لكل مجموعة Group_id وبالتالي المفترض أن يكون الناتج :
أرجو أن أكون قد وضحت السؤال؟؟؟
تم تعديل هذه المشاركة بواسطة kathy في 26 أبريل 2009 في 10:39
تفضل أخي
select t1.main_id, t1.group_id, t1.type_id, t1.info1, t1.info2, t1.lengths from table1 t1 inner join
(select group_id, max(type_id) as typeIdMax from table1 group by group_id) t2
on t1.group_id = t2.group_id and t1.type_id = t2.typeIdMax
لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ
أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو
أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ
لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ
لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ
إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ
شكرا لك
ويمكن أيضا عمل التالي :
SELECT main_id, Group_id, [type_id], info1, info2, lenghts FROM (SELECT main_id, Group_id, [type_id], info1, info2, lenghts ,ROW_NUMBER() OVER(Partition by main_id, Group_id ORDER BY [type_id] DESC) rn FROM @TestTable) t WHERE rn=1
تم تعديل هذه المشاركة بواسطة kathy في 27 أبريل 2009 في 15:48