Hallo,
folgendes Problem. Ich habe eine Tabelle mit folgenden Feldern.
ID SN WE SN_OUT WA
1 123456789 01.08.2016 987654321 03.08.2016
2 234567891 01.08.2016 198765432 05.08.2016
3 987654321 07.08.2016 987654321 09.08.2016
4 198765432 08.08.2016 123456789 11.08.2016
5 987654321 15.08.2016 987654321 20.08.2016
6 987654321 25.08.2016 234567891 29.08.2016
jetzt will ich in einer Abfrage eine neue Spalte dahinter haben (rerepair_date) in dieser Spalte soll dann das WE Datum stehen wann die SN_OUT das nächste mal rein gekommen ist. Das fertige Abfrage Ergebnis sollte dann so aussehen.
ID SN WE SN_OUT WA rerepair_date
1 123456789 01.08.2016 987654321 03.08.2016 07.08.2016
2 234567891 01.08.2016 198765432 05.08.2016 08.08.2016
3 987654321 07.08.2016 987654321 09.08.2016 15.08.2016
4 198765432 08.08.2016 123456789 11.08.2016
5 987654321 15.08.2016 987654321 20.08.2016 25.08.2016
6 987654321 25.08.2016 234567891 29.08.2016
Danke im Voraus
Mittels Unterabfrage, die einen skalaren Wert liefert oder mittels DMin-Funktion kann man das Ziel erreichenSELECT ...,
(SELECT TOP 1 WE FROM Tabname
WHERE SN = t.SN_OUT
AND WE > t.WA
ORDER BY 1) AS rerepair_date
FROM Tabname t
Hi, danke für die schnelle Antwort. Ich bin in SQL nicht besonders gut. Meine SQL sieht jetzt so aus und es kommt beim ausführen das ich einen Parameterwert eingeben soll.
SELECT ace.ID, ace.SN, ace.WE, ace.SN_OUT, ace.WA
(SELECT TOP 1 WE FROM ace
WHERE SN = t.SN_OUT
AND WE > t.WA
ORDER BY 1) AS rerepair_date
FROM ace t
Hallo,
korrigiere:
.... ORDER BY WE)...
Sorry, immer noch das gleiche Problem.
SELECT ace.ID
...
FROM ace t
Wenn Du einen Tabellenalias einführst, musst Du ihn auch konsequent benutzen.
Danke, funktioniert!
Hallo ich noch einmal,
in der Abfrage werden ca 80.000 Datensätze berechnet. das dauert sehr lange ca 25 min. kann man das irgendwie schneller machen?
Wie hältst Du es denn mit Indizierung und Indexnutzung?
Siehe Grundlagen - SQL ist leicht (8) - Index (http://www.ms-office-forum.net/forum/showthread.php?t=317707)
Ansonsten hast Du durch die Formulierung der Aufgabenstellung die Struktur der Abfrage vorgegeben, da ist nichts groß zu verbessern.
Wenn man allerdings schlicht in einer Abfrage die Tabelle nach SN, WE sortieren würde, hätte man in der Folgezeile immer das Folge-WE. Jetzt müsste man sich fragen, ob der User das auch erfassen kann.