Update auf bestimmte IDs in Tabelle
Ich verwende SQL 2005
Hey,
ich habe eine Tabelle1 mit den Spalten 'ID' , 'Aktuell' und 'Maximal'
So nun will ich in einer anderen Tabelle für die Anzahl der Differenz, wo die ID von der Bedingung (Aktuell > Maximal )= TRUE einen string einfügen.
Bsp: ID = 3 die Spalte 'Aktuell' = 4 und Spalte 'Maximal' = 2 --> Dann soll in der TabelleXY in der Spalte ExceptionFaenger der String 'Schade' bei der entsprechenden ID (3) eingetragen' werden. Aber nur bei 2 Zeilen mit der ID=3.
Es ist vll. hinzuzufügen, dass die ID kein IDENTITY ist; dh es gibt mehrere Einträge in TabelleXY mit derselben ID.
EDIT:
Die UPDATE-Anweisung zum Ändern aller sieht wie folgt aus:
Leider brauche ich eben nicht alle geändert sondern nur eine gewisse Anzahl!!
Grüße Fred
Hey,
ich habe eine Tabelle1 mit den Spalten 'ID' , 'Aktuell' und 'Maximal'
So nun will ich in einer anderen Tabelle für die Anzahl der Differenz, wo die ID von der Bedingung (Aktuell > Maximal )= TRUE einen string einfügen.
Bsp: ID = 3 die Spalte 'Aktuell' = 4 und Spalte 'Maximal' = 2 --> Dann soll in der TabelleXY in der Spalte ExceptionFaenger der String 'Schade' bei der entsprechenden ID (3) eingetragen' werden. Aber nur bei 2 Zeilen mit der ID=3.
Es ist vll. hinzuzufügen, dass die ID kein IDENTITY ist; dh es gibt mehrere Einträge in TabelleXY mit derselben ID.
EDIT:
Die UPDATE-Anweisung zum Ändern aller sieht wie folgt aus:
UPDATE [dbo].[TabelleXY]
SET ExceptionFaenger = 'Schade'
FROM [dbo].[TabelleXY] as tb INNER JOIN
[dbo].[Tabelle1] as tw ON tb.ID = tw.ID
WHERE (tw.Aktuell > tw.Maximal);
Leider brauche ich eben nicht alle geändert sondern nur eine gewisse Anzahl!!
Grüße Fred
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 170409
Url: https://administrator.de/forum/update-auf-bestimmte-ids-in-tabelle-170409.html
Ausgedruckt am: 10.01.2025 um 10:01 Uhr
7 Kommentare
Neuester Kommentar
1-n Beziehungen und Foreign Key ist schon klar, aber wenn da 5 Zeilen mit ID=3 da sind und Du nur 2 davon löschen willst, musst Du doch irgendwie genauer sagen können welche 2. Und das sollte anhand von Daten in der Zeile passieren, z.B. über den Primärschlüssel in TabelleXY.
Oder willst Du sagen, es ist völlig egal, welche 2 von den 5 gelöscht werden?
Oder willst Du sagen, es ist völlig egal, welche 2 von den 5 gelöscht werden?
Dir ist das egal, aber die Datenbank spielt nicht Zufallsgenerator, die will immer noch genau wissen, welche Datensätze. Und bei SQL sind prinzipiell alle Zeilen gleichwertig, ein Update auf die ersten 3 Zeilen ist ... schwierig.
Ich weiß ja jetzt nicht, welches Frontend Du zur Datenbank verwendest, aber ich würde das nicht per SQL Skript Update machen, geht zwar sicherlich auch, aber dann sind unbedingt genauere Selektionen nötig, sondern per Programmierung im Frontend.
Wenn man z.B. Access nimmt, ein bischen VBA Code, alle Zeilen mit ID=3 rausziehen, eine Schleife über alle selektierten, die ersten x lassen, beim Rest das Update machen.
Ich weiß ja jetzt nicht, welches Frontend Du zur Datenbank verwendest, aber ich würde das nicht per SQL Skript Update machen, geht zwar sicherlich auch, aber dann sind unbedingt genauere Selektionen nötig, sondern per Programmierung im Frontend.
Wenn man z.B. Access nimmt, ein bischen VBA Code, alle Zeilen mit ID=3 rausziehen, eine Schleife über alle selektierten, die ersten x lassen, beim Rest das Update machen.