jafar
2 سال پیش توسط jafar مطرح شد
2 پاسخ

ساخت کوئری برای 3 تا جدول هدر تولید و کانتنت تولید و توقفات تولید

با سلام
3 تا جدول دارم طبق عکس
جدول یک هدر تولیده و شامل تاریخ و ماشین رو نگه میداره
جدول دوم کانتنت تولیده و ref داره به جدول اول و نام کالا و دقیقه تولید و تعداد تولید رو نگه میداره
جدول سوم توقفات تولیده و ref داره به جدول دوم و نام توقف و دقیقه توقف رو نگه میداره .

طبق عکس ، واسه تولید کالای یک 60 دقیقه زمان برده و 10 تا تولید شده ، و واسه همون تولید 3 تا توقف اتفاق افتاده.
من میخوام زمان کارکرد مفید رو به دست بیارم . که میشه 60 دقیقه منهای (5+6+10)
ممنون از دوستانی که راهنمایی میکنن

گزارش باید به این صورت باشه :

ماشین - محصول - زمان تولید - تعداد تولید - زمان توقف

توضیح تصویر رو وارد کنید


ثبت پرسش جدید
jafar
@jafarpalideh 2 سال پیش آپدیت شد
0

خوب دوستان جواب رو میزارم تا دیگران هم استفاده کنن . من از CTE کوئریها بابت این موضوع استفاده کرردم .

with

StopMin as (select sum(ps.[minute]) as TotalMinStop,ps.ref_productContent from productStop ps group by ps.ref_productContent )
,
Tolid as (select 
            ph.MashinName,sum(pc.quantity) as TotalQuantity ,pc.goodName, sum(pc.[Minute]) as TotalMinQ,pc.id
            from ProductHeader ph 
            left join productContent pc on ph.id=pc.ref_productHeader 
            group by ph.MashinName,pc.goodName,pc.id) 
select tolid.MashinName'نام ماشین',tolid.goodName'نام کالا',ifnull(sum(tolid.TotalMinQ),0) as 'کل زمان تولید',
ifnull(sum(stopmin.TotalMinStop),0) 'زمان توقف',ifnull(sum(tolid.TotalQuantity),0)'کل میزان تولید',
 ifnull(sum(ifnull(tolid.TotalMinQ-StopMin.TotalMinStop,TotalMinQ)),0) as 'خالص زمان تولید' 
from StopMin right join Tolid on StopMin.ref_productContent=Tolid.id

group by tolid.MashinName,tolid.goodName

jafar
@jafarpalideh 2 سال پیش مطرح شد
0

دوستان این مورد من رو کسی میتونه کمک کنه ؟


jafar
@jafarpalideh 2 سال پیش آپدیت شد
0

خوب دوستان جواب رو میزارم تا دیگران هم استفاده کنن . من از CTE کوئریها بابت این موضوع استفاده کرردم .

with

StopMin as (select sum(ps.[minute]) as TotalMinStop,ps.ref_productContent from productStop ps group by ps.ref_productContent )
,
Tolid as (select 
            ph.MashinName,sum(pc.quantity) as TotalQuantity ,pc.goodName, sum(pc.[Minute]) as TotalMinQ,pc.id
            from ProductHeader ph 
            left join productContent pc on ph.id=pc.ref_productHeader 
            group by ph.MashinName,pc.goodName,pc.id) 
select tolid.MashinName'نام ماشین',tolid.goodName'نام کالا',ifnull(sum(tolid.TotalMinQ),0) as 'کل زمان تولید',
ifnull(sum(stopmin.TotalMinStop),0) 'زمان توقف',ifnull(sum(tolid.TotalQuantity),0)'کل میزان تولید',
 ifnull(sum(ifnull(tolid.TotalMinQ-StopMin.TotalMinStop,TotalMinQ)),0) as 'خالص زمان تولید' 
from StopMin right join Tolid on StopMin.ref_productContent=Tolid.id

group by tolid.MashinName,tolid.goodName

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام