Problem mit Versandkostenberechnung

Hallo,

ich habe mehrere Kategorien und wenn aus 2 Bestimmten ein oder mehrere Artikel bestellt werden, sollen unterschiedliche Versandkosten berechnet werden.
Kategorie-ID 1 hat 5€ Versandkosten, Kategorie-ID 2 7€
Realisieren wollte ich es mit einer eigenen Berechnung wie folgt:

(MIN((SELECT 5 FROM s_articles_categories WHERE articleID=a.id AND categoryID=1))) + (MIN((SELECT 7 FROM s_articles_categories WHERE articleID=a.id AND categoryID=2)))

Diese Berechnung gibt jedoch nur 12 aus, wenn aus beiden Kategorien mind. ein Artikel im Warenkorb liegt.
Liegen nur Artikel aus einer der beiden Kategorien im Warenkorb, wird 0 ausgegeben.

Kürze ich die Berechnung auf nur eine Kategorie, wird es korrekt berechnet:

(MIN((SELECT 5 FROM s_articles_categories WHERE articleID=a.id AND categoryID=1)))

 

Wo liegt mein Denkfehler?