# Frage zur Syntax für individuelle Versandkosten (eigene Bedingungen / eigene Berechnungen)

**URL:** <https://forum.shopware.com/t/frage-zur-syntax-fur-individuelle-versandkosten-eigene-bedingungen-eigene-berechnungen/61237>\
**Category:** Programmierung\
**Created:** [21. August 2019 um 15:08 UTC](https://forum.shopware.com/t/frage-zur-syntax-fur-individuelle-versandkosten-eigene-bedingungen-eigene-berechnungen/61237 "2019-08-21T15:08:20Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![opalix](https://avatars.discourse-cdn.com/v4/letter/o/e19b73/32.png) [@opalix](https://forum.shopware.com/u/opalix)\
**Post date:** [21. August 2019 um 15:08 UTC](https://forum.shopware.com/t/frage-zur-syntax-fur-individuelle-versandkosten-eigene-bedingungen-eigene-berechnungen/61237/1 "2019-08-21T15:08:20Z")

</div>

Hallo liebe Community,

ich habe bereits das Dokument zu individuellen Versandkosten gelesen.[https://docs.shopware.com/de/shopware-5-de/versand-und-zahlungsarten/individuelle-versandkosten](https://docs.shopware.com/de/shopware-5-de/versand-und-zahlungsarten/individuelle-versandkosten)

Leider scheine ich hier noch etwas nicht ganz zu verstehen. Alle meine Versuche eine eigene Bedingung zu formulieren endeten in einer PDOException, was mich zum Schluß führt, dass ich die Abfrage grundsätzlich falsch formuliere.

Ich habe zunächst Versandkostenberechnung nach Artikelanzahl aktiviert und eine Staffeln 0-1 -\> 5.50 und 2-beliebig -\> 0 defniert. Soweit so gut, das funktioniert auch. Nun hat der Shop allerdings ein paar Extralocken. Wenn man Artikel ohne Bestand in den Warenkorb legt, wird ein weiterer Artikel im Modus 4 mit der articleID = 0&nbsp;hinzugefügt. Dieser stellt lediglich einen Aufschlag für Fremdlagerlieferung dar. Ich vermute dass dieser zur Menge der Artikel im Warenkorb dazuzählt und daher einzelne Artikel ohne Lagerbestand auch keine Versandkosten verursachen obwohl sie es sollten.

Wie muß die Bedingung formuliert sein? Soll der Ausdruck zu einem Wahrheitswert auswertbar sein oder was ist hier das Ziel?

Sowas wie&nbsp;

```
CASE WHEN COUNT(b.articleID !=0) THEN 1 ELSE 0 END

```

&nbsp;führt lediglich zu Exceptions…

&nbsp;

Würde mich über Tipps oder ne Erklärung wie das funktioniert sehr freuen.

Liebe Grüße

Oliver

---

<div class="post-metadata">

**Author:** ![sacrofano](https://avatars.discourse-cdn.com/v4/letter/s/65b543/32.png) [@sacrofano](https://forum.shopware.com/u/sacrofano)\
**Post date:** [21. August 2019 um 20:30 UTC](https://forum.shopware.com/t/frage-zur-syntax-fur-individuelle-versandkosten-eigene-bedingungen-eigene-berechnungen/61237/2 "2019-08-21T20:30:05Z")

</div>

Hallo,

grundsätzlich ist die SQL Syntax oben falsch. Erst zählen und dann das Ergebnis auswerten.

```
CASE WHEN COUNT(b.articleID) !=0 THEN 1 ELSE 0 END

```

Spring mal im Dokument an die Stelle :" **Vergleichen der Artikelanzahl im Warenkorb mit Artikeln mit bestimmten Attributen**"

in den Grundeinstellungen - \> Versandkostenmodul folgendes ergänzen:

```
, COUNT(a.id) as item_count

```

Dann kannst du die Variable in der Versandkostenverwaltung unter den eigenen Bedingungen auswerten:

```
IF(item_count = 1, 1, 0)
oder
IF(item_count > 1, 1, 0)

```

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![opalix](https://avatars.discourse-cdn.com/v4/letter/o/e19b73/32.png) [@opalix](https://forum.shopware.com/u/opalix)\
**Post date:** [22. August 2019 um 11:11 UTC](https://forum.shopware.com/t/frage-zur-syntax-fur-individuelle-versandkosten-eigene-bedingungen-eigene-berechnungen/61237/3 "2019-08-22T11:11:37Z")

</div>

Danke das hat mir schon mal geholfen. Ich hatte leider auch die SQL Abfrage an die falsche stelle geschrieben.(in die Bedingung statt es an die erweiterte SQL Abfrage anzuhängen)

Es gibt jetzt zumindest keine Exceptions mehr.

Muß ich jetzt noch bei “Versandkosten Berechnung nach” etwas bestimmtest einstellen oder reicht es Artikelanzahl auszuwählen und eine Staffel anzulegen?&nbsp;

Aktuell hab ich folgendes eingestellt. Es scheint mir so als ob die Versandkosten nur von der Staffel abhängen und die Bedingung ignoriert wird.

```
COUNT(b.articleID) !=0 as item_count

```

in der SQL Abfrage angehängt mit einem Komma getrennt. (Hier hab ich das Gefühl die Abfrage ist falsch. Ich will doch die items im basket zählen, deren articleID != 0 ist. Die Abfrage heißt für mich item\_count = true, wenn mehr als ein article da ist und ansonsten false)

und in der Bedingung in der Versandkostenverwaltung steht:

```
IF(item_count = 1, 1, 0)

```

![](https://www.dropbox.com/s/oz79mlo0glufa2a/versandkosten.PNG?dl=0)

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/f/f7e453ae1e15ca99382c0b07c900c7457983844f.png)

---

<div class="post-metadata">

**Author:** ![sacrofano](https://avatars.discourse-cdn.com/v4/letter/s/65b543/32.png) [@sacrofano](https://forum.shopware.com/u/sacrofano)\
**Post date:** [23. August 2019 um 16:11 UTC](https://forum.shopware.com/t/frage-zur-syntax-fur-individuelle-versandkosten-eigene-bedingungen-eigene-berechnungen/61237/4 "2019-08-23T16:11:40Z")

</div>

Hallo,

folge mal dem Link:

> **[Versandkostenberechnung pro Artikel mit Freigrenze](https://forum.shopware.com/discussion/28801/versandkostenberechnung-pro-artikel-mit-freigrenze)**
>
> Ich benötige eine Versandkostenberechnung pro Artikel nach Stückzahl, aber mit einer Anzahl, ab der die Bestellung versandkostenfrei ist. Funktioniert mit Attributfeld und eigener Berechnung gut (siehe http://wiki.shopware.com/Versandkosten- …...

Dann würde ich „Versandkostenberechnung nach“ auf „eigene Brechnung“ umstellen. Tests mit der „Anzahl der Artikel“ haben bei mir kein brauchbares Ergebnis gebracht, dann hätte man auch kein eigenes SQL hinterlegen müssen.
