Выведите имя столбца с записью, которая содержит ноль (SQL, eloquent) - PullRequest
0 голосов
/ 10 февраля 2020

Я получил следующую базу данных: (mysql)

columns: A    B    C
row:     1   null  3

Я хочу получить список столбцов с записью, которая не является нулевой. Вот как должен выглядеть список:

A (1)
C (3)

Чтобы добиться этого, я хочу получить массив столбцов с их значениями. Вот так:

{{column => 'a', value => 1}, {column => 'c', value => 3}}

Так что я могу через них oop создать список.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020

Это может достичь того, что вы ищете:

SELECT 
     CONCAT(
          "{", 
          CONCAT_WS(
               ",",
               CONCAT("{column => 'a', value => ", a, "}"),
               CONCAT("{column => 'b', value => ", b, "}"),
               CONCAT("{column => 'c', value => ", c, "}")
          ),
          "}"
     ) AS myArray 
FROM myTable

СМОТРИТЕ ДЕМО ЗДЕСЬ

0 голосов
/ 10 февраля 2020

Во многих базах данных вы можете использовать concat_ws():

select concat_ws(',',
                 (case when a is null then 'a' end),
                 (case when b is null then 'b' end),
                 (case when c is null then 'c' end)
                ) as null_columns
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...