PDA

View Full Version : استفاده از Union All در یک function



پوریا_م
سه شنبه 11 مرداد 1390, 08:29 صبح
با سلام
در یک جدول واحد رسید تولید کالاها که نوع آن با عدد 6 و حواله خروج کالاها با نوع 1 نمایش داده شده است.
روی این جدول Function با استفاده از متد Union all نوشتم که کد کالا را گرفته به همراه دو تاریخ شروع و پایان و رسید
تولید و حواله خروج های آن کد را در این بازه را بعنوان خروجی میدهد.مشکل در این جا میباشد که خروجی این Func دو رکورد با یک فیلد میباشد .من قصد
دارم به جای این دو رکورد یک رکورد با دو فیلد داشته باشم. با توجه به استفاده از Union All چه راهکاری میتوان ارائه کرد.73193

یوسف زالی
سه شنبه 11 مرداد 1390, 08:35 صبح
سلام.
به جای استفاده از union all از دو subselect یا دو فیلد از یک select join استفاده کنید.

پوریا_م
سه شنبه 11 مرداد 1390, 13:52 عصر
سلام.
به جای استفاده از union all از دو subselect یا دو فیلد از یک select join استفاده کنید.


دوست من این کد منه :


Select Sum(Amount) As Amount,TypeNo From VwIndex
Where TypeNo = 6
AND Substring(GoodCode,6,4) = @TarhCode
AND RdDate Between @RdDate1 AND @RdDate2
Group By TypeNo


Union All
Select Sum(Amount)As Amount,TypeNo From VwIndex
Where TypeNo = 1
AND Substring(GoodCode,6,4) = @TarhCode
AND RdDate Between @RdDate1 AND @RdDate2
AND DetailCode = @DetailCode
Group By TypeNo
GO

میشخ شما هم کد پیشنهادی رو بنویسید
با تشکر

یوسف زالی
سه شنبه 11 مرداد 1390, 15:02 عصر
ببینید منظور من چیزی شبیه به این هست:

Select case TypeNo when 1 then Sum(Amount) else 0 end As Amount1, case TypeNo when 6 then Sum(Amount) else 0 end As Amount6, TypeNo
From VwIndex
Where Substring(GoodCode,6,4) = @TarhCode
AND RdDate Between @RdDate1 AND @RdDate2
AND DetailCode = @DetailCode
Group By TypeNo