Versandkosten nach PLZ, Länge, Breite, Höhe und Gewicht

Guten Tag

Bin eine eigene Bedingung am schreiben für die Versandkosten für den Sperrgutversand via LKW.

Wenn bei uns ein Haken bei Sperrgut gesetzt ist, werden diese Versandkosten aufgerufen, sofern auch die PLZ stimmt. Das habe ich wie folgt gelöst. Funktioniert auch gut

Eigene Bedingungen:

Sperrgut and IFNULL(us.zipcode,ub.zipcode) > '1199' AND IFNULL(us.zipcode,ub.zipcode) < '1300' OR IFNULL(us.zipcode,ub.zipcode) > '1899' AND IFNULL(us.zipcode,ub.zipcode) < '2000' OR IFNULL(us.zipcode,ub.zipcode) > '3899' AND IFNULL(us.zipcode,ub.zipcode) < '4000' OR IFNULL(us.zipcode,ub.zipcode) > '6669' AND IFNULL(us.zipcode,ub.zipcode) < '6700' OR IFNULL(us.zipcode,ub.zipcode) > '6799' AND IFNULL(us.zipcode,ub.zipcode) < '7000' OR IFNULL(us.zipcode,ub.zipcode) > '7011' AND IFNULL(us.zipcode,ub.zipcode) < '7200' OR IFNULL(us.zipcode,ub.zipcode) > '7206' AND IFNULL(us.zipcode,ub.zipcode) < '7300' OR IFNULL(us.zipcode,ub.zipcode) > '7399' AND IFNULL(us.zipcode,ub.zipcode) < '7800'

Leider funktioniert meine eigene Berechnung nicht ganz es werden immer Versandkosten 0.00 ausgegeben, weiss hier jemand Rat? nach folgendem müsste gerechnet werden.

IF(d.length < 100 AND d.width < 60 AND d.height < 60 AND d.weight < 10 , 15.00	(Post Sperrgut)
IF(d.length < 60 AND d.width < 80 AND d.weight < 50 , 78.00 (LKW grosses Paket bis 50KG)
IF(d.length < 60 AND d.width < 80 AND d.weight < 250 , 108.00 (LKW halber Palettenplatz bis 250 KG)
IF(d.length < 120 AND d.width < 80 AND d.weight < 500 , 130.00 (LKW ganzer Palettelplatz bis 500 KG)
IF(d.length < 120 AND d.width < 80 AND d.weight < 1000 , 260.00 (LKW ganzer Palettenplatz bis 1000 KG)
IF(d.length < 180 AND d.width < 80 AND d.weight < 500 , 135.00 (LKW 1,5 Palettenplatz bis 500 KG)

Somit habe ich folgenden Code geschrieben, der leider nicht funktioniert.

SUM(IF(d.length < 100 AND d.width < 60 AND d.height < 60 AND d.weight < 10 , 15,IF(d.length < 60 AND d.width < 80 AND d.weight < 50 , 78,IF(d.length < 60 AND d.width < 80 AND d.weight < 250 , 108,IF(d.length < 120 AND d.width < 80 AND d.weight < 500 , 130,IF(d.length < 120 AND d.width < 80 AND d.weight < 1000 , 260,IF(d.length < 180 AND d.width < 80 AND d.weight < 500 , 135, 0)))))))

Vielen Dank für die Hilfe.

Simon