نمایش اقلام موچود در انبار بر اساس تعداد
با سلام و خسته نباشید خدمت دوستان عزیز
بنده دو تا جدول دارم به نام های لیست کالاهای موجود در انبار و جدول خروج کالا
توی جدول لیست کالا 7 قلم کالا وارد کردم با کد کالاهای مختلف مانند عکس پیوست شده زیر
http://uupload.ir/files/ccfz_111.png
حالا میخوام خروج بزنم 2 قلم کالا رو فقط موجودی (تعداد) انبار رو همون دو قلم نشون میده به جا 7 قلم
خب سوال اینجاست مگه من هفت قلم کالا ندارم خب 2 تا که رخوج میزنم از تعدادش کم باید بشه و در کنار 5 قلم دیگه نمایشش بده ولی متاسفانه نمیشه.
من یه کوئری نوشتم لطف میکنین بازبینیش کنین
دیتابیسم رو ضمیمه کردم.
فایل ضمیمه : http://uupload.ir/filelink/9lwEpM9w4...dari_total.zip
بی زحمت کوئری جدید رو واسم بنویسین.
این کوئری هستش که من نوشتم.
select list_view_kala.code_kala,list_view_kala.name_kala, list_view_kala.name_vk, ( (list_view_kala.tedad) - sum(exit_kala.tedad))as tedad
from list_view_kala,exit_kala where list_view_kala.code_kala=exit_kala.code_kala
group by list_view_kala.code_kala,list_view_kala.tedad,list _view_kala.name_kala,list_view_kala.name_vk
order by code_kala
نقل قول: نمایش اقلام موچود در انبار بر اساس تعداد
این کد فقط رکوردهای با کد یکسان را در نظر خواهد گرفت.
شما بین جدول کالا و جدول خروج left join بزنید تا همه رکودهای جدول کالا رو داشته باشید. sum ها را هم در صورت null بودن صفر در نظر بگیرید.
نقل قول: نمایش اقلام موچود در انبار بر اساس تعداد
وقتتون بخیر جناب afrad میشه یه مثالی یا کوئری بنویسین.
تا طبق اون انجام بدم
نقل قول: نمایش اقلام موچود در انبار بر اساس تعداد
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
این کد فقط رکوردهای با کد یکسان را در نظر خواهد گرفت.
شما بین جدول کالا و جدول خروج left join بزنید تا همه رکودهای جدول کالا رو داشته باشید. sum ها را هم در صورت null بودن صفر در نظر بگیرید.
وقتتون بخیر جناب afrad میشه یه مثالی یا کوئری بنویسین.
تا طبق اون انجام بدم
نقل قول: نمایش اقلام موچود در انبار بر اساس تعداد
اسکریپت دو جدول را بزارید جهت تست.
نقل قول: نمایش اقلام موچود در انبار بر اساس تعداد
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
اسکریپت دو جدول را بزارید جهت تست.
درود بر شما
لینک دیتابیسه
http://uupload.ir/filelink/9lwEpM9w4...dari_total.zip
اینم از کوئری هستش که نوشتم.
select list_view_kala.code_kala,list_view_kala.name_kala, list_view_kala.name_vk, ( (list_view_kala.tedad) - sum(exit_kala.tedad))as tedad
from list_view_kala,exit_kala where list_view_kala.code_kala=exit_kala.code_kala
group by list_view_kala.code_kala,list_view_kala.tedad,list _view_kala.name_kala,list_view_kala.name_vk
order by code_kala
و اینم از اسکریپتش:
http://uupload.ir/view/e517_script.zip/
دوستان تا حدودی مشکلم رو حل کردم و اقلام موجود در انبار رو نمایش میده ولی یه مشکل کوچیکی که داره اون کالاهایی که از انبار خروج خوردن موجودیشو نمایش میده مابقی اقلام رو که وارد انبار شده اند و خروج نخورده اند رو NULL نمایش میده.
مانند این لینک عکس:
http://uupload.ir/files/32ad_235345.png
به نظرتون کجای کوئری رو باید تعییر بدم
اینم کوئری :
select list_view_kala.code_kala,list_view_kala.name_kala, list_view_kala.name_vk, ( (list_view_kala.tedad) - sum(exit_kala.tedad))as tedad
from list_view_kala
LEFT OUTER JOIN exit_kala
on list_view_kala.code_kala=exit_kala.code_kala
group by list_view_kala.code_kala,list_view_kala.tedad,list _view_kala.name_kala,list_view_kala.name_vk
order by code_kala
نقل قول: نمایش اقلام موچود در انبار بر اساس تعداد
list_view_kala را به صورت زیر اصلاح کنید
SELECT
dbo.kala.code_kala,
dbo.kala.name_kala,
dbo.vahed_kala.name_vk,
ISNULL(SUM(dbo.input_kala.tedad), 0) AS tedad
FROM
dbo.input_kala RIGHT OUTER JOIN
dbo.kala ON dbo.input_kala.code_kala = dbo.kala.code_kala LEFT OUTER JOIN
dbo.vahed_kala ON dbo.input_kala.code_vk = dbo.vahed_kala.code_vk
GROUP BY dbo.kala.code_kala, dbo.kala.name_kala, dbo.vahed_kala.name_vk
کوئری را هم به صورت زیر اصلاح کنید (فقط تابع isnull اضافه شده)
select
list_view_kala.code_kala,
list_view_kala.name_kala,
list_view_kala.name_vk,
(list_view_kala.tedad - isnull(sum(exit_kala.tedad) , 0)) as tedad
from list_view_kala
LEFT OUTER JOIN exit_kala
on list_view_kala.code_kala=exit_kala.code_kala
group by list_view_kala.code_kala,list_view_kala.tedad,list _view_kala.name_kala,list_view_kala.name_vk
order by list_view_kala.code_kala
نقل قول: نمایش اقلام موچود در انبار بر اساس تعداد
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
list_view_kala را به صورت زیر اصلاح کنید
SELECT
dbo.kala.code_kala,
dbo.kala.name_kala,
dbo.vahed_kala.name_vk,
ISNULL(SUM(dbo.input_kala.tedad), 0) AS tedad
FROM
dbo.input_kala RIGHT OUTER JOIN
dbo.kala ON dbo.input_kala.code_kala = dbo.kala.code_kala LEFT OUTER JOIN
dbo.vahed_kala ON dbo.input_kala.code_vk = dbo.vahed_kala.code_vk
GROUP BY dbo.kala.code_kala, dbo.kala.name_kala, dbo.vahed_kala.name_vk
کوئری را هم به صورت زیر اصلاح کنید (فقط تابع isnull اضافه شده)
select
list_view_kala.code_kala,
list_view_kala.name_kala,
list_view_kala.name_vk,
(list_view_kala.tedad - isnull(sum(exit_kala.tedad) , 0)) as tedad
from list_view_kala
LEFT OUTER JOIN exit_kala
on list_view_kala.code_kala=exit_kala.code_kala
group by list_view_kala.code_kala,list_view_kala.tedad,list _view_kala.name_kala,list_view_kala.name_vk
order by list_view_kala.code_kala
جناب afrad دست گلت درد نکنه خیلی محبت کردی.