Guten Morgen,
wie kann ich aus einem benannter Spalte den Wert auslesen und ihn um
20% erhöhen?
also in der spalte „preis“ steht ein Wert und der muss um 20% erhöht
werden?
also preis*0,20
dankeschoen gruss dirk
Guten Morgen,
wie kann ich aus einem benannter Spalte den Wert auslesen und ihn um
20% erhöhen?
also in der spalte „preis“ steht ein Wert und der muss um 20% erhöht
werden?
also preis*0,20
dankeschoen gruss dirk
Moin, dirk,
UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value
also preis*0,20
für new_value setzt Du ein, was Dir geeignet erscheint. Vorher vielleicht nochmal nachschauen, was 20 % Aufschlag bedeutet.
Gruß Ralf
Hallo,
UPDATE tabelle SET preis = preis * 1.20 WHERE schlüssel_spalte = xxx;
Nur noch die richtige Tabelle eintragen und am Besten den Schlüssel in die WHERE-Bedingung, sonst werden alle Preise um 20 % erhöht.
Richtig macht man das allerdings anders. Man verwendet eine Preisfortschreibung:
CREATE TABLE artikel (
artnr VARCHAR(20) NOT NULL,
bez VARCHAR(60) NOT NULL,
CONSTRAINT pk\_artikel PRIMARY KEY (artnr)
);
CREATE TABLE artikel\_preis (
artnr VARCHAR(20) NOT NULL,
datum\_von DATE NOT NULL,
preis DECIMAL(16,6) NOT NULL,
CONSTRAINT pk\_artikel\_preis PRIMARY KEY (artnr, datum\_von),
CONSTRAINT fk1\_artikel\_preis FOREIGN KEY (artnr)
REFERENCES artikel (artnr)
);
Damit kann man dann die Preisentwicklung erfassen und auch Preise in die Zukunft planen.
Gruß
Peter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
ich bedanke mich recht herzlich und kann jetzt mal üben damit!
ralf ich bedanke mich recht herzlich und kann jetzt mal üben damit!
geht leider (noch) nicht
der macht den preis nicht hoch.
eigenartig.
Annahme
spalte verlag „Muffelverlag“
spalte preis „9,99“
in Tabelle buch
dann
UPDATE buch SET preis = preis * 1.20 WHERE verlag= ‚Muffelverlag‘;
geht leider nicht, hätte so logisch sein können.
UPDATE tabelle SET preis = preis * 1.20 WHERE schlüssel_spalte
= xxx;Nur noch die richtige Tabelle eintragen und am Besten den
Schlüssel in die WHERE-Bedingung, sonst werden alle Preise um
20 % erhöht.
Mahlzeit,
eigenartig.
jau
Annahme
spalte verlag „Muffelverlag“
spalte preis „9,99“
in Tabelle buch
dann
UPDATE buch SET preis = preis * 1.20 WHERE verlag=
‚Muffelverlag‘;
Klingt plausibel. Mögliche Fehlerquellen:
SELECT * FROM buch WHERE verlag=‚Muffelverlag‘;
(Könnte z.B. ‚Muffelverlag OHG & Co. KG‘ heißen oder so).
Gruß
Sancho
geht leider nicht, hätte so logisch sein können.
UPDATE tabelle SET preis = preis * 1.20 WHERE schlüssel_spalte
= xxx;Nur noch die richtige Tabelle eintragen und am Besten den
Schlüssel in die WHERE-Bedingung, sonst werden alle Preise um
20 % erhöht.
alles ist korrekt geschrieben.
es gibt keine erweiterungen, der verlag heisst generell so und nicht anders, sonst könnten wir ja mit % befüllen…
eine frage: was ist commit bitte?
danke
Klingt plausibel. Mögliche Fehlerquellen:
- Commit abgesetzt?
- Stimmt der Verlag tatsächlich?
SELECT * FROM buch WHERE verlag=‚Muffelverlag‘;
(Könnte z.B. ‚Muffelverlag OHG & Co. KG‘ heißen oder so).
Gruß
Sancho
geht leider nicht, hätte so logisch sein können.
UPDATE tabelle SET preis = preis * 1.20 WHERE schlüssel_spalte
= xxx;Nur noch die richtige Tabelle eintragen und am Besten den
Schlüssel in die WHERE-Bedingung, sonst werden alle Preise um
20 % erhöht.
Re: leichte SGL abfrage
Hallo,
geh mal auf die Homepage www.fies-und-gemein.de und hol dir dort mal unter Skripte das Datenbanken 1 Skript.
Welche DB benutzt du denn?
Welchen Typ hat die Spalte Preis?
Evtl, je nach Einstellung musst du 1,20 statt der üblichen 1.20 nehmen. Dann hast du die EInstellung mit Dezimalkomma statt Dezimalpunkt.
Versuch das mal.
Gruß
Peter
PS: Eine Transaktion (also eine Änderung in der DB) wird mit einem COMMIT festgeschrieben und ist erst dann dauerhaft in der DB gespeichert. (Vermutlich macht deine DB eh Autocommit, d.h. jede Änderung wird unmittelbar festgeschrieben)
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]