Versandkostenkalkulation stimmt nicht

Hallo liebes Forum,

wir haben ein Problem mit der Versandkosten-Kalkulation in unserem Shop. Wir haben auf Grundlage von Freitextfeldern eine eigene Berechnung hinterlegt. Die Berechnung seiht so aus und die Bedingung sieht so aus:
Bedingung&Kalkulation

Die Kondition „sperrgutFRO“ wird so aus der Datenbank abgefragt: MAX(at.attr5=„1“) AS sperrgutFRO

Nun zum Problem. Wenn ich nun 4x Artikel, die kein Sperrgut-Freitextfeld haben, in meinen Warenkorb lege und dann einen Artikel dazulege, der doch das zugehörige Attribut hat, dann berechnet der Shop den Sperrgutzuschlag 4 Mal (also 140€). Wenn ich jedoch das Ganze umdrehe und erst den einen Artikel in den Warenkorb lege, der Sperrgutzuschlag hat, und dann die 4 Artikel ohne dann wird der Zuschlag nur 1x berechnet.

Kann es sein, dass diese Berechnung „b.quantity * x“ immer auf den Ist-Zustand des Warenkorbs zugreift und nur dann aktualisiert, wenn er leer ist? Wenn ja, wie kann ich das beheben? Und wenn nein, was ist dann der Grund für dieses Verhalten?

Gern kann ich mehr Screenshots und Erläuterungen nachliefern, sorry wenn es ein wenig wirr ist.
Vielen Dank schon Mal im Voraus für eure Hilfe!

Du müsstest ein wenig mehr Infos zur Verfügung stellen, was du wo alles eingestellt hast.
Bei mir funktioniert es perfekt egal wie und welche Artikel im Warenkorb gelegt werden.

Ein Profi bin ich auch nicht. Wenn ich mir deine SQL-Abrage ansehe, wieso hast du eigentlich so viele Sperrgutversandarten? Du hast insgesamt 6 Freitextfelder für Versandkosten hinterlegt, gibt es denn so viele Sperrgutarten? Bei mir ist es nur ein Sperrgutzuschlag, alles andere wird nach Gewicht berechnet. Kann die Agentur dir da nicht weiterhelfen die das umgesetzt hat? Die haben sich bestimmt etwas dabei gedacht.