ورود

View Full Version : کمک برای نوشتن یک sp



karmand
دوشنبه 06 خرداد 1387, 10:39 صبح
با تشکر فراوان از کمک شما


جدولی دارم بنام asli و فیلدهای barcode-تاریخ ارسالde-تاریخ توزیعdt-تاریخ برگشتdb-کد محلcod_mahal-و uid

جدولی دارم بنام محل و فیلدهای mahalوووو cod_mahal
این دو جدول باید در cod_mahalجوین ساده شودinner join
اماری میخواهم به این صورت که شرط کلی برای همه مابین 2 تاریخ ارسال باشد یعنی ورودی این sp دو تاریخ باشد از تاریخ تا تاریخ که برای تاریخ ارسال اعمال شود
mahal را گروپ کند
جمع کل ارسالی به هر محل را بدهد
جمع کل توزیع شده ها را به هر محل بدهدشرط تاریخ توزیع آن مخالف صفر باشد
جمع کل برگشت شدها را به هر محل را بدهد به شرط اینکه uid=6باشد و تاریخ برگشت مخالف صفر
جمع کل برگشت شدها را به هر محل را بدهد به شرط اینکه uid<>6باشدو تاریخ برگشت مخالف صفر
جمع کل ارسالی منهای توزیع شده ومنهای برگشت شده

تاریخ را نامبر گرفتم برای همن میگویم صفر

odiseh
دوشنبه 06 خرداد 1387, 10:50 صبح
این کد رو امتحان کن::



SELECT dt1.mahal, dt1.n1, Isnull(dt2.n2,0) as n2, Isnull(dt3.n3,0) as n3, Isnull(dt4.n4,0) as n4, (n1-n2-n3-n4) as koli
From
(select mahal, count(*) as n1
from table1 t1
where sendDate between @date1 and @date2
group by mahal
)dt1
left join
(select mahal, count(*) as n2
from table1 t1
where sendDate between @date1 and @date2 and toziDate<>0
group by mahal
)dt2
left join
(select mahal, count(*) as n3
from table1 t1
where sendDate between @date1 and @date2 and returnDate<>0 and uid=6
group by mahal
)dt3
left join
(select mahal, count(*) as n4
from table1 t1
where sendDate between @date1 and @date2 and returnDate<>0 and uid<>6
group by mahal
)dt4

karmand
دوشنبه 06 خرداد 1387, 12:17 عصر
ممنون از توجه شما
چون در نوشتن اینگونه selectها ضعیف هستم کاش کمی راهنمایی می فرمودید
dt1و dt2......چیست
و این یک view است؟؟