PDA

View Full Version : خواندن اطلاعات سطر به سطر جدول و بروز رسانی



ha-sa-gh
جمعه 28 فروردین 1388, 17:13 عصر
یک جدول داریم که درآن فیلد های زیر قرار دارد :
کد بیمار - کد پزشک - کد درمانگر - تعداد بیماران این پزشک - تعداد بیماران این درمانگر
اطلاعات این جدول و از یک جدول دیگه می خواهیم بخوانیم که درآن کد بیمارو کد پزشک و کد درمانگر وجود داره . حالا می خوهیم تعداد بیماران پزشک مورد نظر را در رکورد فیلد مربوطه در رکورد مورد نظر قرار دهیم .
با استفاده از گروپ بای اینکار رو انجام دادم و تعداد بیماران هر پزشک و دسته بندی کردم حالا می خوام در جدول اصلی جلوی کد هر پزشک تعداد بیمارای اون پزشکم و قرار بدم .
به عنوان نمونه :
select count(pateint_id) as countpatientdoctors from tbl_pateint_record
group by doc_id
نتیجه این کوری شده پزشک 103=28 بیمار و پزشک 104 = 3 بیمار دارد .
حالا تو جدول مورد نظرمون همه کدهای پزشکان هم وجود داره و من می خوام جلوی کد هر پزشک عدد مورد نظرش قرار بگیره یعنی همه ردیف هایی که کد پزشک آنها 103 است عدد 28 قرار بگیره .از کرزر نویسی تو اسکیو ال استفاده کردم برای اینکه تو ردیفها حرکت کنم و عملیات بروز رسانی جدول و انجام بدم اما جلوی تعداد پزشکای هر بیمار عدد 3 قرار می گیره .کرز و هم اینطوری نوشتم :
Declare @docid int;
Declare @countpatientdoctors int;
Declare _cursor cursor
For
Select doctorid from tbl_fact
Open _cursor;
Fetch next from _cursor into @docid;
While (@@fetch_status<>-1)
Begin
If(@@fetch_status<>-2)
Begin
select count(pateint_id)as countpatientdoctors,doc_id from tbl_pateint_record
group by doc_id;

Update tbl_fact
Set countpatientdoctors=countpatientdoctors
Where doctorid=@docid
End;
Fetch next from _cursor into @docid;
End;
Close _cursor;
Deallocate _cursor;

nemidonam
دوشنبه 31 فروردین 1388, 10:37 صبح
یک جدول داریم که درآن فیلد های زیر قرار دارد :
کد بیمار - کد پزشک - کد درمانگر - تعداد بیماران این پزشک - تعداد بیماران این درمانگر
اطلاعات این جدول و از یک جدول دیگه می خواهیم بخوانیم که درآن کد بیمارو کد پزشک و کد درمانگر وجود داره . حالا می خوهیم تعداد بیماران پزشک مورد نظر را در رکورد فیلد مربوطه در رکورد مورد نظر قرار دهیم .
با استفاده از گروپ بای اینکار رو انجام دادم و تعداد بیماران هر پزشک و دسته بندی کردم حالا می خوام در جدول اصلی جلوی کد هر پزشک تعداد بیمارای اون پزشکم و قرار بدم .
به عنوان نمونه :
select count(pateint_id) as countpatientdoctors from tbl_pateint_record
group by doc_id
نتیجه این کوری شده پزشک 103=28 بیمار و پزشک 104 = 3 بیمار دارد .
حالا تو جدول مورد نظرمون همه کدهای پزشکان هم وجود داره و من می خوام جلوی کد هر پزشک عدد مورد نظرش قرار بگیره یعنی همه ردیف هایی که کد پزشک آنها 103 است عدد 28 قرار بگیره .از کرزر نویسی تو اسکیو ال استفاده کردم برای اینکه تو ردیفها حرکت کنم و عملیات بروز رسانی جدول و انجام بدم اما جلوی تعداد پزشکای هر بیمار عدد 3 قرار می گیره .کرز و هم اینطوری نوشتم :
Declare @docid int;
Declare @countpatientdoctors int;
Declare _cursor cursor
For
Select doctorid from tbl_fact
Open _cursor;
Fetch next from _cursor into @docid;
While (@@fetch_status<>-1)
Begin
If(@@fetch_status<>-2)
Begin
select count(pateint_id)as countpatientdoctors,doc_id from tbl_pateint_record
group by doc_id;

Update tbl_fact
Set countpatientdoctors=countpatientdoctors
Where doctorid=@docid
End;
Fetch next from _cursor into @docid;
End;
Close _cursor;
Deallocate _cursor;
سلام
اگه جداول و فیلد های آنها رو اینجا بزاری بهتر می تونیم کمکت کنیم