Currently, the queue shows me the workload of products in a oven and for product which are in the oven too, but actually for some hours in a test outside of the oven.
I count the h with "gesamt" for each product -> this show me how Long they stay already in the oven. Mostly the products stay 1000h in the oven its defined in "Zielgröße" in the db.
What I want is that the queue should show me the workload of the oven for the next 2 weeks as a prediction (336h). Thats all "gesamt" which is over "Zielgröße" (mostly 1000) not shown in the queue maybe handled in a temporary table or whatever.
Is it possible to handle this in Micrososft SQL Server?
Here is the code:
SELECT TesterID,Name, TesterNr, COUNT(Name) as Anzahl, gesamt  FROM 
(SELECT AllgemeineAngaben.QualiID, 
                                Bezeichnung, 
                                AnzModule, 
                                Tester.Name, TesterNr, 
                                Testname,
                                v_gesamtBerechnungLaufend.TestaufstellungID, 
                                lastRO, 
                                gesamt, 
                                v_gesamtBerechnungLaufend.Einheit, 
                                v_gesamtBerechnungLaufend.PlanID,
                                v_gesamtBerechnungLaufend.TesterID
                        FROM DB.dbo.AllgemeineAngaben inner join
                        DB.dbo.v_gesamtBerechnungLaufend on 
                        AllgemeineAngaben.QualiID = v_gesamtBerechnungLaufend.QualiID inner join
                        DB.dbo.Tester on  
                        Tester.TesterID = v_gesamtBerechnungLaufend.TesterID inner join
                        DB.dbo.Testaufstellung on  
                        Testaufstellung.TestaufstellungID = v_gesamtBerechnungLaufend.TestaufstellungID inner join
                        DB.dbo.Testnamen on Testnamen.TestnameID = Testaufstellung.TestnameID
                        Where Tester.Name = 'KPS02'
                            UNION ALL
                            SELECT  AllgemeineAngaben.QualiID, 
                        Bezeichnung, AnzModule, Tester.Name, TesterNr, 
                        Testname,
                        Testaufstellung.TestaufstellungID, 
                        v_gesamtBerechnung.gesamt as lastRO, 
                        v_gesamtBerechnung.gesamt, 
                        v_gesamtBerechnung.Einheit, 
                        v_gesamtBerechnung.PlanID, 
                        v_gesamtBerechnung.TesterID
                FROM    DB.dbo.AllgemeineAngaben inner join
                        DB.dbo.v_gesamtBerechnung on 
                        AllgemeineAngaben.QualiID = v_gesamtBerechnung.QualiID inner join
                        DB.dbo.Tester on  
                        Tester.TesterID = v_gesamtBerechnung.TesterID inner join
                        DB.dbo.Testaufstellung on  
                        Testaufstellung.TestaufstellungID = v_gesamtBerechnung.TestaufstellungID inner join
                        DB.dbo.Testnamen on Testnamen.TestnameID = Testaufstellung.TestnameID
                        WHERE Testaufstellung.fertig ='0'
                        AND Testaufstellung.aktiv ='1'
                        AND Testaufstellung.Zielgröße > v_gesamtBerechnung.gesamt
                        AND Tester.Name = 'KPS02'
                        AND v_gesamtBerechnung.TestaufstellungID not in (Select TestaufstellungID from DB.dbo.v_gesamtBerechnungLaufend)) x
                        group by TesterID, Name, TesterNr, gesamt
Here the table to show in an example what I want
actual workload
          TesterID       Name    TesterNr   Anzahl      gesamt
          -------------- ------- ---------- ----------- -----------
Product1    8              KPS02   2          1           209
Product2    8              KPS02   2          1           216
Product3    8              KPS02   2          1           816
Product4    8              KPS02   2          1           835
workload in 2 weeks
         TesterID       Name    TesterNr   Anzahl      gesamt
         -------------- ------- ---------- ----------- -----------
Product1        8              KPS02   2          1           545
Product2        8              KPS02   2          1           552
the last recors are over 1000 Zielgröße, so just dont show them in the prediction queue
Product3    8              KPS02   2          1           1152
Product4    8              KPS02   2          1           1171
I hope you guys can follow me. Thanks for your help.
I'll edit this answer until it's solved, but here's my first attempt:
SELECT TesterID,Name, TesterNr, COUNT(Name) as Anzahl, gesamt + 336 as gesamt
FROM 
(SELECT AllgemeineAngaben.QualiID, 
                                Bezeichnung, 
                                AnzModule, 
                                Tester.Name, TesterNr, 
                                Testname,
                                v_gesamtBerechnungLaufend.TestaufstellungID, 
                                lastRO, 
                                gesamt, 
                                v_gesamtBerechnungLaufend.Einheit, 
                                v_gesamtBerechnungLaufend.PlanID,
                                v_gesamtBerechnungLaufend.TesterID
                        FROM DB.dbo.AllgemeineAngaben inner join
                        DB.dbo.v_gesamtBerechnungLaufend on 
                        AllgemeineAngaben.QualiID = v_gesamtBerechnungLaufend.QualiID inner join
                        DB.dbo.Tester on  
                        Tester.TesterID = v_gesamtBerechnungLaufend.TesterID inner join
                        DB.dbo.Testaufstellung on  
                        Testaufstellung.TestaufstellungID = v_gesamtBerechnungLaufend.TestaufstellungID inner join
                        DB.dbo.Testnamen on Testnamen.TestnameID = Testaufstellung.TestnameID
                        Where Tester.Name = 'KPS02'
                            UNION ALL
                            SELECT  AllgemeineAngaben.QualiID, 
                        Bezeichnung, AnzModule, Tester.Name, TesterNr, 
                        Testname,
                        Testaufstellung.TestaufstellungID, 
                        v_gesamtBerechnung.gesamt as lastRO, 
                        v_gesamtBerechnung.gesamt, 
                        v_gesamtBerechnung.Einheit, 
                        v_gesamtBerechnung.PlanID, 
                        v_gesamtBerechnung.TesterID
                FROM    DB.dbo.AllgemeineAngaben inner join
                        DB.dbo.v_gesamtBerechnung on 
                        AllgemeineAngaben.QualiID = v_gesamtBerechnung.QualiID inner join
                        DB.dbo.Tester on  
                        Tester.TesterID = v_gesamtBerechnung.TesterID inner join
                        DB.dbo.Testaufstellung on  
                        Testaufstellung.TestaufstellungID = v_gesamtBerechnung.TestaufstellungID inner join
                        DB.dbo.Testnamen on Testnamen.TestnameID = Testaufstellung.TestnameID
                        WHERE Testaufstellung.fertig ='0'
                        AND Testaufstellung.aktiv ='1'
                        AND Testaufstellung.Zielgröße > v_gesamtBerechnung.gesamt
                        AND Tester.Name = 'KPS02'
                        AND v_gesamtBerechnung.TestaufstellungID not in (Select TestaufstellungID from DB.dbo.v_gesamtBerechnungLaufend)) x
                        group by TesterID, Name, TesterNr, gesamt
) A
WHERE gesamt + 336 < 1000
It seems to me like all you need to do is add 336 to the current values and then filter out anything less than 1000.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With