Access Tabelle - Inhalte vertauschen
Hallo Gemeinschaft,
habe ein access Problem
habe eine Tabelle in der Art
Res-Nummer (Auto Feld)
Kunden.Nummer
Gas
Wasser
Strom
nun ist mir beim Einfügen der Daten ein Fehler unterlaufen und bei den Gaswerte stehen kleinere Beträge als bei Strom - nun das Problem - aber nur zum Teil falsch eingegeben
nun möchte ich folgendes erreichen, dass alle Werte bei den Strom größer als Gas ist getauscht werden
hatte schon probiert es mit Excel zu machen (dakann ich es ) - mein Problem ist nur, dass wenn ich dann die Daten wieder zurück spiele, dass dann aufgrund des Auto Wertes die Res-Nummer nicht mehr die gleichen sind
habe ein access Problem
habe eine Tabelle in der Art
Res-Nummer (Auto Feld)
Kunden.Nummer
Gas
Wasser
Strom
nun ist mir beim Einfügen der Daten ein Fehler unterlaufen und bei den Gaswerte stehen kleinere Beträge als bei Strom - nun das Problem - aber nur zum Teil falsch eingegeben
nun möchte ich folgendes erreichen, dass alle Werte bei den Strom größer als Gas ist getauscht werden
hatte schon probiert es mit Excel zu machen (dakann ich es ) - mein Problem ist nur, dass wenn ich dann die Daten wieder zurück spiele, dass dann aufgrund des Auto Wertes die Res-Nummer nicht mehr die gleichen sind
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6007779838
Url: https://administrator.de/contentid/6007779838
Ausgedruckt am: 22.11.2024 um 02:11 Uhr
5 Kommentare
Neuester Kommentar
Was willst du jetzt hören?
Res-Nummer ist was genau? Unique?
Warum gibt du nicht einfach die Daten richtig ein und ignorierst die falschen spätestens bei den Abfragen?
Vielleicht passt du die Struktur der Tabelle(n) oder die Datenbank an, dass du mit falschen Daten umgehen kannst.
Eine Datenbank die nur mit korrekten Daten leben kann wird dich oft vor Herausforderung stellen.
Res-Nummer ist was genau? Unique?
Warum gibt du nicht einfach die Daten richtig ein und ignorierst die falschen spätestens bei den Abfragen?
Vielleicht passt du die Struktur der Tabelle(n) oder die Datenbank an, dass du mit falschen Daten umgehen kannst.
Eine Datenbank die nur mit korrekten Daten leben kann wird dich oft vor Herausforderung stellen.
Hi
Er will sowas wie
UPDATE Gas, Strom from Tabelle WHERE Gas < Strom
und dabei aus dem gelesenen Datensatz
Gas = Strom
Strom = Gas
ersetzen.
Also ein verschachteltes Abfrage/Update Statement ...
Ohne es gerade testen zu können, stelle ich mir das etwa so vor:
UPDATE a.Gas = b.Strom, a.Strom = b.Gas from Tabelle AS a
WHERE Gas < Strom
ON JOIN
SELECT Gas, Strom FROM Tabelle AS b WHERE a.Res-Nummer = b.Res-Nummer
von der Idee sicher die richtige Richtung, ein Kollege wird sicher das passende Statement noch liefern ....
Er will sowas wie
UPDATE Gas, Strom from Tabelle WHERE Gas < Strom
und dabei aus dem gelesenen Datensatz
Gas = Strom
Strom = Gas
ersetzen.
Also ein verschachteltes Abfrage/Update Statement ...
Ohne es gerade testen zu können, stelle ich mir das etwa so vor:
UPDATE a.Gas = b.Strom, a.Strom = b.Gas from Tabelle AS a
WHERE Gas < Strom
ON JOIN
SELECT Gas, Strom FROM Tabelle AS b WHERE a.Res-Nummer = b.Res-Nummer
von der Idee sicher die richtige Richtung, ein Kollege wird sicher das passende Statement noch liefern ....
Hallo,
Vorher halt mit einem Select testen ob du die richtigen Daten bekommst.
Und bitte lerne wie man eine Tabelle zB mittels eines ERM beschreiben und darstellen kann, das würde vieles vereinfachen.
Gruß
update table_name a
inner join table_name b
on a.key = b.key
set a.Strom = b.Gas
where a.Strom > b.Gas
Vorher halt mit einem Select testen ob du die richtigen Daten bekommst.
Und bitte lerne wie man eine Tabelle zB mittels eines ERM beschreiben und darstellen kann, das würde vieles vereinfachen.
Gruß
Warum so kompliziert:
Ein Self-Join ist gar nicht nötig. Du musst dir nur sicher sein das das auch immer Sinn ergibt und nicht falscher Werte aktualisiert werden, es gibt kein zurück...
PS: Ich bin nicht sicher ob Access die Syntax UPDATE ... FROM versteht und ich glaube selbst MSSQL akzeptiert keinen Alias für die Tabelle in UPDATE. Bei einem Join im Update gäbe es also ggf. auch noch Syntax Probleme mit den gezeigten Varianten.
UPDATE tabelle
SET gas = strom,
strom = gas
WHERE gas < strom
Ein Self-Join ist gar nicht nötig. Du musst dir nur sicher sein das das auch immer Sinn ergibt und nicht falscher Werte aktualisiert werden, es gibt kein zurück...
PS: Ich bin nicht sicher ob Access die Syntax UPDATE ... FROM versteht und ich glaube selbst MSSQL akzeptiert keinen Alias für die Tabelle in UPDATE. Bei einem Join im Update gäbe es also ggf. auch noch Syntax Probleme mit den gezeigten Varianten.