Изглежда, че вашият метод може да е единственият начин да направите това.
Причината е, че NULL
е валидна стойност за включване в JSON обекти. Докато повечето функции за агрегиране игнорират нулеви стойности, така че те правилно игнорират несъответстващи редове, които идват от LEFT JOIN
, това би било проблем за JSON_ARRAYAGG()
. Това би ви попречило да включите нулеви стойности в други ситуации. Няма начин да се разграничат изричните нули от LEFT JOIN
нулеви.