SQL не может динамически добавлять дополнительные столбцы к его результирующему набору после того, как запрос начинает выполняться, и он проверяет данные в строках. Столбцы должны быть зафиксированы в списке выбора во время синтаксического анализа запроса SQL, прежде чем запрос начнет выполняться и проверять данные. Таким образом, вы должны указать столбцы в списке выбора запроса. Это означает, что вы должны знать имена всех свойств заранее.
Вы можете сделать запрос для получения всех имен свойств:
SELECT JSON_KEYS(mydata) FROM MyTable;
Это возвращает массивы ключей на строку. Будет много дублирования. В вашем клиентском приложении вы должны написать код для анализа результата и сформировать список различных ключей.
Затем вы можете использовать этот список для формирования второго SQL запроса с одним столбцом в select- список для каждого ключа, который вы отметили на первом шаге.
Альтернативой является забыть о возвращении свойств в отдельных столбцах. Просто верните JSON документы из базы данных как есть. Затем разберите JSON после того, как вы получите его в наборе результатов, и обработайте его в коде приложения таким образом.
Так или иначе, вам нужно написать код приложения, либо перед выполнением запроса, либо после выполнение вашего запроса.
Добро пожаловать в "гибкий" дизайн базы данных! : -)