# Erweiterte Versandkostenberechnung - gesammeltes Wissen

**URL:** <https://forum.shopware.com/t/erweiterte-versandkostenberechnung-gesammeltes-wissen/14977>\
**Category:** Shopware 3.5\
**Tags:** administration\
**Created:** [13. August 2013 um 14:15 UTC](https://forum.shopware.com/t/erweiterte-versandkostenberechnung-gesammeltes-wissen/14977 "2013-08-13T14:15:33Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![gezeichnet](https://avatars.discourse-cdn.com/v4/letter/g/e19b73/32.png) [@gezeichnet](https://forum.shopware.com/u/gezeichnet)\
**Post date:** [16. Februar 2016 um 18:14 UTC](https://forum.shopware.com/t/erweiterte-versandkostenberechnung-gesammeltes-wissen/14977/9 "2016-02-16T18:14:33Z")

</div>

In Kategorie 11, 12 und 40 soll eine seperate Versandkostentabelle (1-Stück-Versand) laufen - aber nur wenn es nur ein Artikel im Warenkorb ist, in allen anderen Kategorien soll das nicht passieren und der standard Versand greifen.

Ich teile das hier mal ein bisschen auf

**Einrichten des Zusätzlichen Versands**

- _Versandkosten Berechnen nach_: Artikelanzahl
- Im unteren Bereich den Versand von einem Stück erstellen
- _Zahlart, Länder_, so wie benötigt
- _Kategorien Sperren_ - könnte man einstellen, da wir aber später ausschließen in den Bedingungen ausschließen wollen, ist es besser, hier nichts zu tun

&nbsp;

**Kategorien:&nbsp;Versandkosten Modul / Erweitere SQL Abfrage**

```
(SELECT categoryID FROM s_articles_categories WHERE articleID=a.id) as kategorie

```

**Kategorien:&nbsp;Bedingung für 1-Stück-Versand**

```
kategorie = 11 OR kategorie = 12 OR kategorie = 40

```

&nbsp;

**Artikelanzahl:&nbsp;&nbsp;Versandkosten Modul / Erweitere SQL Abfrage**

```
(SELECT COUNT(sessionID) FROM s_order_basket WHERE sessionID = b.sessionID) as artikelanzahl

```

**Artikelanzahl: Bedingung für 1-Stück-Versand**

```
artikelanzahl = 1

```

&nbsp;

**BasketItem quantity:&nbsp;Versandkosten Modul / Erweitere SQL Abfrage**

```
MIN(b.quantity) as anzahl

```

**BasketItem quantity: Bedingung für 1-Stück-Versand**

```
anzahl = 1 

```

&nbsp;

**Gesamt: Bedingung für 1-Stück-Versand**

```
artikelanzahl = 1 AND anzahl = 1 AND (kategorie = 11 OR kategorie = 12 OR kategorie = 40)

```

&nbsp;

Jetzt wird bei den gewünschten Kategorien, und bei einer Gesamtartikelanzahl von 1 die bedingung mit ausgegeben. Es wird aber auch der andere Versand mit ausgegeben, aus Kundenfreundlichkeit, möchte ich aber immer den geringst möglichen Versand berechnen, und aus usability sicht, möchte ich nur eine der beiden Versandarten im Frontend anzeigen. Deshalb muss in der Standard Versandmethode auch noch ein kleiner Schnipsel in die Bedingung

&nbsp;

**Gesamt: Bedingung für Standard Versand**

```
anzahl > 1 OR artikelanzahl > 1 AND (kategorie != 11 OR kategorie != 12 OR kategorie != 40)

```

&nbsp;

**Notiz am Rande**

Nach dem ändern der Einstellungen im Versandkostenmodul sollte der Cache gelöscht werden!

Ich habe das mit meinen geringen SQL kenntnissen zusammengeschraubt dehalb habe ich eine kleine Frage, SUM() scheint ja in bedingungen nicht zu gehen, gibt es eine möglichkeit (anzahl + artikelanzahl - 1) zu rechnen?

---

_[View the full topic](https://forum.shopware.com/t/erweiterte-versandkostenberechnung-gesammeltes-wissen/14977)._
