Trade Republic - Provisionsfrei Aktien handeln
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Globale Preisänderung per SQL, jedoch mit absolutem Wert

    Kuebelwagen

    • Fördermitglied
    • Beiträge: 15
    Hallo,

    wie die Preise per SQL prozentual verändert werden kann ist im Handbuch dokumentiert, vielen Dank.

    Eine Preisänderung um einem absoluten Betrag jedoch nicht (Leider stehe ich dabei total auf dem Schlauch..............)

    Versuchter Befehl:
    Code: SQL  [Auswählen]
    UPDATE products SET products_price=round(products_price+8.40*1.19)/1.19;

    Der Betrag sollte also um 8,40 erhöht werden mit entsprechender Rundung sowie MwSt. Anpassung.

    Fehlermeldung: Note: #1265 Daten abgeschnitten für Feld 'products_price' in Zeile X  (Ergebnis war ein Preisgulasch)

    Vermutung: In Mathe nicht aufgepasst, fehlende Klammern?

    Ich bedanke mich

    Linkback: https://www.modified-shop.org/forum/index.php?topic=41906.0

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Re: Globale Preisänderung per SQL, jedoch mit absolutem Wert
    Antwort #1 am: 10. Juni 2021, 11:42:04

    Q

    • Fördermitglied
    • Beiträge: 1.478
    Re: Globale Preisänderung per SQL, jedoch mit absolutem Wert
    Antwort #2 am: 10. Juni 2021, 23:24:35
    Die Frage ist jetzt was du GENAU willst. Erstmal würde ich die Mathegrundlage Punkt vor Strich beachten. In deinem Fall werden 8,40 EUR um die MwSt. erhöht, dann dem alten Preis hinzugefügt (also alter Preis + 9,996), dies gerundet und danach um die MwSt reduziert. Wenn das so sein soll, dann passt das. Der Gesamtbetrag wird dann wiederum nicht gerundet, weil das außerhalb der Klammer fürs Runden steht. Deswegen wird die Zahl wohl recht lang und wird dann an der x-ten Stelle abgeschnitten. Nebenbei wird bei der Rundung auf Ganzzahlen gerunden, weil du nicht angegeben hast, auf wieviel Stellen gerunden werden soll (wenn ich das richtig sehe).

    MySQL ROUND() Function.

    EDIT* Hilft vielleicht auch weiter: https://www.modified-shop.org/forum/index.php?topic=41125.msg374560#msg374560
    Die Suchfunktion in dem Forum ist da hilfreich ;)

    Ich hoffe die Hinweise helfen etwas.

    Timm

    • Fördermitglied
    • Beiträge: 6.318
    Re: Globale Preisänderung per SQL, jedoch mit absolutem Wert
    Antwort #3 am: 11. Juni 2021, 00:32:27
    Das sql Statement scheint unlogisch für mich. Warum sollte man einem Nettopreis eine Bruttoerhöhung hinzufügen und dann wieder auf netto umrechnen? Normal wäre doch einem Nettopreis eine Nettoerhöhung hinzuzufügen.

    products_price wird netto in der DB gespeichert. Wenn du also den Gesamtpreis Brutto um 8,40 erhöhen möchtest und das ganze auf 4 Stellen runden möchtest, dann sollte es eher heißen

    Code: SQL  [Auswählen]
    UPDATE products SET products_price=round(products_price+8.40/1.19 , 4);

    Das SQL Statement ist nur logisch abgeleitet aus dem bisher hier geschriebenen und den Links. Keine Gewähr, da keine Ahnung von SQL Syntax.

    Vielleicht verstehe ich dein Anliegen auch falsch. Oder du konkretisierst deine Frage nochmal.

    Gruss Timm

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.850
    • Geschlecht:
    Re: Globale Preisänderung per SQL, jedoch mit absolutem Wert
    Antwort #4 am: 11. Juni 2021, 09:43:48
    Je nachdem was der Threadersteller nun wirklich erreichen möchte, sollte statt dem hier
    Zitat
    UPDATE products SET products_price=round(products_price+8.40/1.19 , 4);

    dann auch theoretisch gleich das gehen, damit eben der entsprechende Nettopreis dazuaddiert wird:
    Code: SQL  [Auswählen]
    UPDATE products SET products_price = products_price + 7.0588

    8,40/ 1,19 = 7,058823529411765 ;)

    Aber du hast recht, da nicht sicher ist, was er denn nun wirklich erreichen will, ist Hilfe schwer ;)

    Grüße
    Dominik

    Kuebelwagen

    • Fördermitglied
    • Beiträge: 15
    Re: Globale Preisänderung per SQL, jedoch mit absolutem Wert
    Antwort #5 am: 11. Juni 2021, 10:31:42
    Ziel: Kurz gesagt, jeder Artikelpreis im Shop soll um 10 EUR BRUTTO erhöht werden.

    (Die 8,40 sind also Netto genannt worden)

    Ich bedanke mich für die Antwort

    Gruß

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.850
    • Geschlecht:
    Re: Globale Preisänderung per SQL, jedoch mit absolutem Wert
    Antwort #6 am: 11. Juni 2021, 10:52:59
    Hi,

    dann müsste das hier zum Erfolg führen:
    Code: SQL  [Auswählen]
    UPDATE products SET products_price = products_price + 8.4034

    Schau auch in der Datenbank vorher mal nach, wieviele Nachkommastellen du da bei products_price hast....Standard sind eigentlich 4 Stück.

    Dementsprechend würde ich die Zahl auch dazuaddieren....

    Vorher nochmals sicherheitshalber die Datenbank sichern ;)

    Grüße
    Dominik

    Kuebelwagen

    • Fördermitglied
    • Beiträge: 15
    Re: Globale Preisänderung per SQL, jedoch mit absolutem Wert
    Antwort #7 am: 14. Juni 2021, 09:15:44
    Funktioniert einwandfrei. Vielen Dank!

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.850
    • Geschlecht:
    Re: Globale Preisänderung per SQL, jedoch mit absolutem Wert
    Antwort #8 am: 14. Juni 2021, 10:02:40
    :thumbs:
    2 Antworten
    2643 Aufrufe
    25. August 2011, 21:13:06 von JoergKurz
    1 Antworten
    1267 Aufrufe
    13. Juni 2017, 10:21:46 von sicalord
    1 Antworten
    1725 Aufrufe
    24. September 2015, 13:29:49 von swolfram [templatix]
    0 Antworten
    1020 Aufrufe
    25. Januar 2017, 19:26:44 von schnapphaus
               
    anything