(06-02-22, 09:06 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
اخي الكريم
اعمل جدول باسم Items لتجرب عليه
وضع فيه الحقول التالية :
1 - Id ترقيم تلقائي
2 ItmName NvarChar(50) اسم المنتج
3 - ItmCategory int صنف المنتج (يمكنك عمله (Nvarchar(50))
ثم املأ عددا من السجلات من المنتجات التالية بحيث تكون الاصناف عشوائية
(تفاح - برتقال - دراق - ليمون - موز) تحت الصنف رقم 1
(بطاطس - طماطم - فليفلة - بصل - كوسا - باذنجان) تحت الصنف رقم 2
(أرز - عدس - حمص - فول) تحت الصنف رقم 3
(حليب - عيران - لبن - جبنة) تحت الصنف رقم 4
الان جملة الاستعلام ستكون كالتالي :
جرب الاستعلام على SqlServer بعدها طبق ماتريد في الفيجوال ستوديوكود :
SELECT Id,ItmName, ROW_NUMBER() OVER(Partition by ItmCategory order BY ItmCategory) AS MyId from Items
عتاب من أخ لأخيه :
لاتلح في طلب الاجابة لان لكل مشاغله قد لايتواجد من يملك الاجابة
ثق تماما ان لا أحد يتوانى عن الإجابة فكلنا نعمل هنا مرضاة لله تعالى
تقبل تحياتي وعتابي
دمت بخير
شكرا استاذي الغالي
علي اهتمامك واسف انى الحيت في طلبي بس الموضوع محتاجهه ضرورى
الكود ال حضرتك وضعته لم يتم ترقيم كما اريد
انا محتاج فاكشن يحفظ في السيكول
يعمل ترقيم لكل صنف علي حده
كود :
CREATE function [dbo].[TrgUpdateId]
on [dbo].[_Test]
AFTER INSERT
AS
BEGIN
declare @nYear int=0
declare @nID int=0
select @nID =nID ,@nYear=year(dDate) from inserted
update _Test
set nID=(select isnull(max(nId),0)+1 from [dbo].[_Test] where year(dDate)=@nYear and nID <>@nID )
where nID= @nID
ENDاريد تعديله بيعمل ترقيم حسب اسم الصنف
لكى استخدمه داخل فيو داخل سيكول سيرفر
اتمنى تكون الفكره وصلت
(08-02-22, 01:49 AM)amonem كتب :ترقيم حسب اسم الصنف كما واضح في الصوره الاتيه(06-02-22, 09:06 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
اخي الكريم
اعمل جدول باسم Items لتجرب عليه
وضع فيه الحقول التالية :
1 - Id ترقيم تلقائي
2 ItmName NvarChar(50) اسم المنتج
3 - ItmCategory int صنف المنتج (يمكنك عمله (Nvarchar(50))
ثم املأ عددا من السجلات من المنتجات التالية بحيث تكون الاصناف عشوائية
(تفاح - برتقال - دراق - ليمون - موز) تحت الصنف رقم 1
(بطاطس - طماطم - فليفلة - بصل - كوسا - باذنجان) تحت الصنف رقم 2
(أرز - عدس - حمص - فول) تحت الصنف رقم 3
(حليب - عيران - لبن - جبنة) تحت الصنف رقم 4
الان جملة الاستعلام ستكون كالتالي :
جرب الاستعلام على SqlServer بعدها طبق ماتريد في الفيجوال ستوديوكود :
SELECT Id,ItmName, ROW_NUMBER() OVER(Partition by ItmCategory order BY ItmCategory) AS MyId from Items
عتاب من أخ لأخيه :
لاتلح في طلب الاجابة لان لكل مشاغله قد لايتواجد من يملك الاجابة
ثق تماما ان لا أحد يتوانى عن الإجابة فكلنا نعمل هنا مرضاة لله تعالى
تقبل تحياتي وعتابي
دمت بخير
شكرا استاذي الغالي
علي اهتمامك واسف انى الحيت في طلبي بس الموضوع محتاجهه ضرورى
الكود ال حضرتك وضعته لم يتم ترقيم كما اريد
انا محتاج فاكشن يحفظ في السيكول
يعمل ترقيم لكل صنف علي حده
دا فاكشن بيعمل ترقيم حسب السنهكود :
CREATE function [dbo].[TrgUpdateId]
on [dbo].[_Test]
AFTER INSERT
AS
BEGIN
declare @nYear int=0
declare @nID int=0
select @nID =nID ,@nYear=year(dDate) from inserted
update _Test
set nID=(select isnull(max(nId),0)+1 from [dbo].[_Test] where year(dDate)=@nYear and nID <>@nID )
where nID= @nID
END
اريد تعديله بيعمل ترقيم حسب اسم الصنف
لكى استخدمه داخل فيو داخل سيكول سيرفر
اتمنى تكون الفكره وصلت
