tiger88
-
Gesamte Inhalte
8 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von tiger88
-
-
Hallo Zusammen
Mein Querry sieht folgendermaßen aus:
Declare @CurrentDate DateTime Declare @PrevMonthDate DateTime Set @CurrentDate=Dateadd(dd,datediff(d,0,getdate()),0) Set @PrevMonthDate=dateadd(month,-1,@CurrentDate) SELECT DISTINCT dbo.OrdData.DateMade, dbo.OrdData.OrdNr, dbo.ProgData.ArtCode, dbo.ProgData.ArtBez, dbo.TestData.SensorNr, max(dbo.TestData.ExeCode), dbo.ProgData.Version, dbo.TestSeqInfo.MBNr FROM dbo.TestData INNER JOIN dbo.OrdData ON dbo.TestData.OrdNr = dbo.OrdData.OrdNr INNER JOIN dbo.ProgData ON dbo.OrdData.ArtKey = dbo.ProgData.ArtKey INNER JOIN dbo.TestSerieData ON (dbo.TestData.OrdNr = dbo.TestSerieData.OrdNr AND dbo.TestData.SerieModeName = dbo.TestSerieData.SerieModeName AND dbo.TestData.SerieCode1 = dbo.TestSerieData.SerieCode1 AND dbo.TestData.SerieCode2 = dbo.TestSerieData.SerieCode2 ) INNER JOIN dbo.TestSeqInfo ON (dbo.TestData.OrdNr = dbo.TestSeqInfo.OrdNr AND dbo.TestData.SensorNr = dbo.TestSeqInfo.SensorNr AND dbo.TestSerieData.TestSerieKey = dbo.TestSeqInfo.TestSerieKey) WHERE dbo.TestSeqInfo.MBNr = '710111' and dbo.OrdData.DateMade > @PrevMonthDate Group by dbo.OrdData.DateMade, dbo.OrdData.OrdNr, dbo.ProgData.ArtCode, dbo.ProgData.ArtBez, dbo.TestData.SensorNr, dbo.ProgData.Version, dbo.TestSeqInfo.MBNr Order by dbo.OrdData.DateMade DESC
Wie man auf dem Bild erkennt bekomme ich foglendes Ergebnis:TestDatum, Auftragsnummer, Artikelcode, Artikelbezeichnung, SensorNr, Status, ProgrammVersion, MBNr
Da ich in der SELECT Abfrage Max(TestData.ExeCode) verwende bekomme ich direkt pro Sensor das Ergebniss ob der Sensor passed = 0 oder failed != 0 getestet wurde.
Nun möchte ich die Abfrage erweitern das ich pro Auftrag eine Spalte mit Passed und Failed habe.TestDatum, Auftragsnummer, ArtCode, ArtDescr, Passed, Failed, Version, MBNr
22.10.2020, 102603794, 10234807, FZAM 12P11..., 20, 2, 1 710111
Wie kann ich das mit der Count Abfrage realisieren?Muss ich eine zweite SELECT Abfrage einfügen?
Ich hoffe ihr könnt mir mit einem Beispiel helfen. :(
Vielen Dank.
-
Es funktioniert noch nicht bei jedem Datensatz.. :(
-
Duplikate entfernen Serialnummern wurden mehrfach getestet. mich interessiert der letzte datensatz (letzte datum) von einer uut
Habs geschafft:SELECT Min(a.Start_Date_Time) as TestDate, a.OrderNumber, a.ArticleNumber, a.ArticleDescription, sum(case UUT_Status when 'Passed' then 1 else 0 end) as Passed, sum(case UUT_Status when 'Failed' then 1 else 0 end) as Failed, sum(case UUT_Status when 'Error' then 1 else 0 end) as Error FROM [BBL_Result].[dbo].[UUT_RESULT] AS a INNER JOIN (SELECT [UUT_SERIAL_NUMBER], MAX([START_DATE_TIME]) AS MAX_DATE_TIME FROM [BBL_Result].[dbo].[UUT_RESULT] WHERE Station_ID = 'IPCCHFRA0190' AND OrderNumber <> '' GROUP BY UUT_SERIAL_NUMBER ) AS b ON a.UUT_SERIAL_NUMBER = b.UUT_SERIAL_NUMBER and a.START_DATE_TIME = b.MAX_DATE_TIME Group by OrderNumber, ArticleNumber, ArticleDescription Order By TestDate DESC
-
Sieht schon mal sehr gut aus. Vielen Dank erstmal!!!
Hat aber noch einen Fehler.. :(
Ich bekomme nun folgendes Bild (club.png).
Wenn ich mir den Auftrag nun genauer anschaue, sieht man das die Serialnummern wie oben beschrieben öfter getestet wurden. (club2.png)
Ich möchte nur die wirklich letzten Resultate bewerten!
D.h. Das Ergebniss müsste so aussehen: 8 passed, 1 failed, 1 error.Wenn du das noch schaffst bist du mein persönlicher Held :)
-
Ich muss wissen wann ungefähr der Auftrag lief... und ja die Auftragsnummer(OrderNumber) ist wichtig... ich will wissen wieviele zu dem Auftrag Passed und Failed usw. sind..
-
Ich bin in diesem Bereich absolut Lost :)
Könntest du mir ein Beispiel mit "Passed" vielleicht zeigen so dass ich das für die anderen Faktoren adaptieren kann? -
Hallo Zusammen
Das Standard Querry:SELECT * FROM [NLL].[dbo].[UUT_RESULT] Where Station_ID = 'NLICH00014'
Problem A:
Zu jeder OrderNumber gibt es verschiedene Serialnummern.
Problem B;
Diese wurden natürlich unterschiedlich getestet (Start_Date_Time).
Problem C:
Eine Serialnummer könnte mehrmals in einem Auftrag getestet sein, desswegen ist für mich nur der letzte (Start_Date_Time) Zeitstempel für mich relevant,
Ich möchte ein Querry das mir jeden Auftrag nur einmal anzeigt und in den weiteren 3 Spalten wieviele Passed, wieviele Failed, wieviele Error von diesem Auftrag sind.
So sollte das Ziel Querry aussehen:
|Start_Date_Time|Order Number|ArticleNumber|ArticleDescription|Passed|Failed|Error
12.05.2020 | 102345210 | 1111452 | OXE7...| 10 | 2 | 0...
MSSQL Querry
in MS SQL Server Forum
Geschrieben
Das wird so nicht funktionieren,
Primär:
1. Max(TestData.ExeCode) habe ich mit Absicht verwendet um nur ein Resultat pro SensorNr zu bekommen. Sonst bekomme ich alle Testschritte pro SensorNr.
Das ist je nach Typ des Sensors Variabel.. desswegen max(ExeCode) liefert ein eindeutiges ergebniss entweder 0 für passed oder >0 für failed.
Sekundär:
2. Die SensorNr Spalte benötige ich nicht die hast du wars***einlich ausversehen noch drin gelassen.
3. Order By sollte nach Datum absteigend sein.
am besten wir skypen .. dann kann man das live besser sehen...