Warum kompliziert wenn es auch einfach geht?
Wenn man mehrere Werte in einer Formel verarzten will muss man ausschließen dass einer davon NULL ist. Desweiteren muss man verhindern, eine Division durch Null zu erhalten, was den ganzen SQL abbricht.

coalesce(W1 / nullif(W2, 0), 0)

ist die sichere und kürzeste Variante.

Für dein Bespiel wäre das:
coalesce(frei/ nullif(Stlj, 0) / 10, 0)

Somit kann man diesen Ausdruck auch kombinieren:

coalesce(W1 / nullif(W2, 0), 0) + coalesce(W2 / nullif(W3, 0), 0)

Ich habe nun nicht alle deine Coalesce geprüft, aber irgendwo hast du einen vergessen.