MSSQL Update Befehl - Anzahl des Resultsets einschränken

Trolleule

Grünschnabel
Hallo,
ich arbeite zur Zeit mit einer Access 07 Datenbank und möchte auf eine bestimmte Anzahl eines Resultsets einen Update Befehl anwenden.

Meine Abfrage liefert mir 160 Datensätze:

SELECT Artikelbezeichnung
FROM Artikel Where Artikelbezeichnung = 'Notebook, Lenovo, 17"' And BNR = 1337

Ich möchte auf 60 von diesen Datensätze meinen Update Befehl anwenden, aber ich weiss nicht wie :confused:

UPDATE Artikel SET WA = 1
Where Artikelbezeichnung = 'Notebook, Lenovo, 17"' And BNR = 1337

Der Top (60) Befehl liefert mir innerhalb der Select Anweisung meine 60 Datensätze, aber der Top Befehl ist in der Update Anweisung scheinbar nicht zulässig: Syntax error...

Hat jemand eine Idee. Danke!
 
SQL:
UPDATE Artikel SET WA = 1
FROM ( SELECT TOP 60 * FROM ARTIKEL
Where Artikelbezeichnung = 'Notebook, Lenovo, 17"' And BNR = 1337)
So ungefähr würde es auf nem SQL Server laufen wobei ich das jetzt grad nicht testen kann. Auf Access sollte dies auch gehen

Gruß
Alex
 
Zuletzt bearbeitet von einem Moderator:
Danke für deine Hilfe, aber leider funktioniert das so nicht, ich bekomme die Meldung:

Syntaxfehler (fehlender Operator) in Abfrageausdruck '1
FROM ( SELECT TOP 60 FROM Artikel
WHERE Artikelbezeichnung = 'Notebook, Lenovo, 17"' AND BNR = 1337)'.

Hast du vielleicht noch eine andere Idee?
 
Geht auch nicht:

UPDATE Artikel SET WA = 1
FROM ( SELECT TOP 60 * FROM ARTIKEL
WHERE Artikelbezeichnung = 'Notebook, Lenovo, 17"' AND BNR = 1337) A

und As A auch nicht :confused:
 
hast du einen PK ? Wenn ja dann geht es auf jeden fall so :

SQL:
UPDATE Artikel SET WA = 1
WHERE ID in  ( SELECT TOP 60  ID FROM ARTIKEL
WHERE Artikelbezeichnung = 'Notebook, Lenovo, 17"' AND BNR = 1337)
 
Zuletzt bearbeitet von einem Moderator:
Zurück