Realisierung RowNum mit Count
Hallo!
Knobel hier gerade an der Anpassung des Select Count * Codes, um eine Nummerierung der Zeilen in aufsteigender Reihenfolge (nach Datum + Zeit) zu erzielen.
Bisher lag der Abfrage eine Tabelle zugrunde, in der alle Werte relevant waren; nun müssten vorher ein paar Werte aussortiert werden.
Mein erster Versuch, eine Abfrage vorzuschalten schlug leider fehl, als Ergebnis bekomme ich dann RowNum=1 für alle Zeilen...
Könntet Ihr mir hier unter die Arme greifen?
Schönen Dank und Gruß,
stevens
Das ist der ursprüngliche Code (der die Zeilen der Tabelle nach StartDate+StartTime aufsteigend nummeriert), der sich auf die Tabelle Tab_Data_LyoNr1 bezieht
1)
SELECT (SELECT COUNT (*) FROM Tab_Data_LyoNr1 AS Temp WHERE Temp.StartDate + Temp.StartTime < A.StartDate + A.StartTime)+1 AS RowNum, A.StartDate, A.StartTime, A.EndDate, A.EndTime, CDbl(A.EndDate+A.EndTime-A.StartDate-A.StartTime)*24 AS CycleLength, A.LyoTasks, A.LotNumber
FROM Tab_Data_LyoNr1 AS A;
Nun müsste ich allerdings einige Datensätze weglassen, was ich mit einer vorgeschalteten Abfrage erreichen wollte:
2)
SELECT *
FROM Tab_Data_LyoNr1 AS A INNER JOIN [SELECT LotNumber
FROM Tab_LotNumberList
WHERE LyoNr=Formulare!F_Lyo1DataEntry!T_RLID]. AS B ON A.LotNumber = B.LotNumber;
um dann 1) nicht auf die Tabelle Tab_Data_LyoNr1 , sondern auf die Abfrage 2) loszulassen, - leider ist RowNum nun für jeden Datensatz = 1, warum?
Struktur der Tabelle/Abfrage
A) Die Tabelle Tab_Data_LyoNr1 beinhaltet LotNumber, StartDate, StartTime etc.
B) Die Tabelle Tab_LotNumberList beinhaltet LotNumber und LyoNr
Ich möchte nun aus der Tabelle B) alle LotNumbers herausfischen, die einer bestimmten LyoNr zugeordnet sind, diese LotNumbers dann aus der Tabelle A) heraussuchen und dieses "Subset" dann nach StartDate und StartTime aufsteigend nummerieren.
Wie würde das funktionieren?
Knobel hier gerade an der Anpassung des Select Count * Codes, um eine Nummerierung der Zeilen in aufsteigender Reihenfolge (nach Datum + Zeit) zu erzielen.
Bisher lag der Abfrage eine Tabelle zugrunde, in der alle Werte relevant waren; nun müssten vorher ein paar Werte aussortiert werden.
Mein erster Versuch, eine Abfrage vorzuschalten schlug leider fehl, als Ergebnis bekomme ich dann RowNum=1 für alle Zeilen...
Könntet Ihr mir hier unter die Arme greifen?
Schönen Dank und Gruß,
stevens
Das ist der ursprüngliche Code (der die Zeilen der Tabelle nach StartDate+StartTime aufsteigend nummeriert), der sich auf die Tabelle Tab_Data_LyoNr1 bezieht
1)
SELECT (SELECT COUNT (*) FROM Tab_Data_LyoNr1 AS Temp WHERE Temp.StartDate + Temp.StartTime < A.StartDate + A.StartTime)+1 AS RowNum, A.StartDate, A.StartTime, A.EndDate, A.EndTime, CDbl(A.EndDate+A.EndTime-A.StartDate-A.StartTime)*24 AS CycleLength, A.LyoTasks, A.LotNumber
FROM Tab_Data_LyoNr1 AS A;
Nun müsste ich allerdings einige Datensätze weglassen, was ich mit einer vorgeschalteten Abfrage erreichen wollte:
2)
SELECT *
FROM Tab_Data_LyoNr1 AS A INNER JOIN [SELECT LotNumber
FROM Tab_LotNumberList
WHERE LyoNr=Formulare!F_Lyo1DataEntry!T_RLID]. AS B ON A.LotNumber = B.LotNumber;
um dann 1) nicht auf die Tabelle Tab_Data_LyoNr1 , sondern auf die Abfrage 2) loszulassen, - leider ist RowNum nun für jeden Datensatz = 1, warum?
Struktur der Tabelle/Abfrage
A) Die Tabelle Tab_Data_LyoNr1 beinhaltet LotNumber, StartDate, StartTime etc.
B) Die Tabelle Tab_LotNumberList beinhaltet LotNumber und LyoNr
Ich möchte nun aus der Tabelle B) alle LotNumbers herausfischen, die einer bestimmten LyoNr zugeordnet sind, diese LotNumbers dann aus der Tabelle A) heraussuchen und dieses "Subset" dann nach StartDate und StartTime aufsteigend nummerieren.
Wie würde das funktionieren?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 139350
Url: https://administrator.de/contentid/139350
Ausgedruckt am: 23.11.2024 um 08:11 Uhr