输出包含 null 的条目的列名(SQL,雄辩)
Posted
技术标签:
【中文标题】输出包含 null 的条目的列名(SQL,雄辩)【英文标题】:Output the column name with an entry that contains null (SQL, eloquent) 【发布时间】:2020-02-10 15:17:26 【问题描述】:我得到了以下数据库:(mysql)
columns: A B C
row: 1 null 3
我想要一个包含非空条目的列列表。 列表应该是这样的:
A (1)
C (3)
为了实现这一点,我想获得一个列数组,以及它们的值。像这样:
column => 'a', value => 1, column => 'c', value => 3
所以我可以遍历它们来创建列表。
【问题讨论】:
用您正在使用的数据库标记您的问题。 这能回答你的问题吗? how to retrieve values from database that are not null 指定的重复项似乎与此问题无关。 【参考方案1】:在很多数据库中,可以使用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
【讨论】:
非常感谢!!!!!!,现在可以使用了!!!我必须将它作为原始查询运行(使用 laravel)然后分解它,现在得到一个列表,谢谢!【参考方案2】:这可能会实现您正在寻找的东西:
SELECT
CONCAT(
"",
CONCAT_WS(
",",
CONCAT("column => 'a', value => ", a, ""),
CONCAT("column => 'b', value => ", b, ""),
CONCAT("column => 'c', value => ", c, "")
),
""
) AS myArray
FROM myTable
SEE DEMO HERE
【讨论】:
以上是关于输出包含 null 的条目的列名(SQL,雄辩)的主要内容,如果未能解决你的问题,请参考以下文章