Ja, es gibt eine Software, in der man die Datensätze auch händisch eintragen kann. Da wir aber täglich eine Vielzahl an Seriennummern ausliefern, würde das eine Ewigkeit dauern, die Datensätze über die Software in der Tabelle Wartung anzulegen.
Deshalb habe ich mich dazu entschieden, die Anlage der Datensätze täglich per Script machen zu wollen. Sowas kann man ja per geplantem Task anlegen, und hat damit dann keine Arbeit mehr.
Ja, der Hersteller hat mir gegenüber geäußert, das er die ID in der Tabelle Wartung auch per Max(Wartung.ID) +1 hochzählt. Deshalb habe ich das auch so übernommen.
Bezüglich dem Join gebe ich Dir Recht.
Da hatte ich mich vertippt. Das sollte natürlich heißen: From Auslieferung left outer join Wartung on Auslieferung.Seriennummer= Wartung.Seriennummer (anstatt Wartung.ID)
Also hier nich mal das korrigierte Script:
Code:
Insert into Wartung (ID,Seriennummer)
Select (Select Max(Wartung.ID)+1 from Wartung) as ID,
Auslieferung.Seriennummer
From Auslieferung
left outer join Wartung on Auslieferung.Seriennummer= Wartung.Seriennummer
Where Wartung.Seriennummer is NULL
Dann mach der Join auch Sinn. Denn ich möchte ja nur die Seriennummern in die Tabelle Wartung eintragen, die noch keinen Eintrag bekommen haben. Und das fange ich doch mit dem Join und der Where Bedingung "Where Wartung.Seriennummer is NULL" ab. (da hatte ich vorher auch fälschlicherweise die ID drin).
Gruß
Lesezeichen