On utilisera CONCAT_WS de manière détournée.

Pour rappel cette fonction utilise le premier argument comme séparateur et ignore les NULL Donc SELECT CONCAT_WS('foo','a','b','c');

donne afoobfooc

Mais surtout

SELECT CONCAT_WS('foo','a',null,'b','c');

donne aussi afoobfooc

donc

SELECT CONCAT_WS('', 'a','foo',null,'bar');

donnera le afoobar espéré