@paddyuboot schrieb:
Hallo,
zunächst vielen Dank für die Antworten. Diese helfen mir aber nur bedingt weiter: der Einsatz der Funktion MAX() war natürlich schwachsinnig.
Ich habe es nun ausgetestet:
COUNT(at.attribut1 * 0.6 + 13.3)
Gibt garkeinen Wert aus, die Versandkosten bleiben also bei Null.
SUM(at.attribut1 * 0.6 + 13.3)
Gibt zwar einen Wert aus, aber einen falschen. Egal wie viele Produkte des Attributs „Attribut1“ im Warenkorb liegen. Er multipliziert immer mit 1.
Dir fehlen einfach Grundlagen im Verständnis der Versandkostenberechnung in Shopware und in der Erstellung von SQL-Abfragen. In der Summe gehst Du dann falsche Wege.
Wenn Du eine Frage zu den Versandkosten im Forum stellst, solltest Du
a) exakt beschreiben, was Du erreichen möchtest und
b) an welchen Stellen im Backend du Änderungen/Einstellungen vorgenommen hast.
Dann muss man sich das nicht immer zusammenreimen, ob Du die SQL-Abfrage erweiterst oder eine eigene Berechnung einträgst.
Dein Count-Statement ist sinnfrei. Wo soll der Datenbankserver denn den Wert in der Klamemr finden und zählen? Das Ergebnis des Aggregate Expression existiert doch in der SQL-Abfrage respektive der Datenbank überhaupt nicht. Daher ergibt count () auch den Wert 0. Das ist als Ergebnis korrekt.
SUM würde die einzelnen Zeilen des Warenkorbs (=Artikel) und dort den Wert , der sich aus der Klammer ergibt , summieren. In jeder Zeile (Artikel) ist der Wert 1 oder 0 und damit wird multipliziert. Kommt jetzt auch darauf an, wo Du es einsetzt, das hast Du jetzt ja auch nicht geschrieben.
Ich hoffe, du findest mit den Angaben und den Tutorials im Netz einen Einstieg, der dich zum Erfolg führt. Ich unterbreiten dir auch gerne ein Angebot zur Erstellung der Versandkostenberechnung - einfach eine PM mit Kontaktdaten schicken.