Hallo zusammen,
ich habe eine Frage zu einem Problem, dass ich derzeit nicht gelöst bekomme:
Ich ermittle mittels eines SQL-Statements die Datensätze, welche ich gerne in eine Tabelle einfügen möchte. Die Tabelle wird aus mehreren Systemen befüllt. Mein Teil soll über einen Job täglich ausgeführt werden. Ich ermittle die höchste ID in der Tabelle und erhöhe diese @intID = @intID + 1
Die eindeutige ID der ermittelten Daten bekomme ich mit Hilfe dieser Anweisung, kann diese so auch ausgeben:
DECLARE TourID CURSOR FOR SELECT ID FROM [dbo].[netTourenplanungTagesplaene] WHERE convert(char(10),Datum,104) = dateadd(day, -1, convert(char(10),getdate(),104)) and UserBericht <> '' and StatusOL = 9; OPEN TourID; FETCH NEXT FROM TourID; WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM TourID; END; CLOSE TourID; DEALLOCATE TourID;
Meine Daten bei denen ich alles erhalte ermittle ich mit diesem SQL-Statement:
SELECT "Meine Spalten" FROM [dbo].[netTourenplanungTagesplaene] WHERE convert(char(10),Datum,104) = dateadd(day, -1, convert(char(10),getdate(),104)) AND USERBericht <> '' AND StatusOL = 9
Mein Ziel soll sein, anhand der ermittelten TourID den jeweiligen Datensatz in eine Tabelle einzufügen, in dem die intID jeweils um eins hochzählt. Vermutlich muss ich im WHERE-Bereich die TourID übergeben, in etwa so:
INSERT INTO [dbo].[Besuchsbericht] SELECT @intID, "Meine Spalten" FROM [dbo].[netTourenplanungTagesplaene] WHERE ID = TourID ... @intID = @intID + 1;
Kann mir da einer Bitte weiterhelfen?!
Vielen Dank
VG Jürgen