gpt4 book ai didi

mysql - 选择任何特定行具有固定值的列名称

转载 作者:行者123 更新时间:2023-11-29 23:46:08 25 4
gpt4 key购买 nike

我正在尝试在 mysql 中进行查询以获取某一特定行具有特定值的任何列。在 Mysql 中,我们可以根据列的任何特定值获取行。

我有一个像这样的表:

+----+------------+------------+---------------+---------------+---------+----------------+---------
| ID | MSISDN | MissedCall | SponsoredCall | AdvanceCredit | ACvalue | SuitablePackId | AutoTimeStamp |
+----+------------+------------+---------------+---------------+---------+----------------+---------------------+
| 1 | 9944994488 | 1 | 0 | 1 | 0 | 1 | 2014-09-18 10:42:55 |
| 4 | 9879877897 | 0 | 1 | 0 | 0 | 2 | 2014-09-18 10:42:55 |
+----+------------+------------+---------------+---------------+---------+----------------+---------------------+

我需要的是,当我根据 MSISDN 选择一行时,它应该返回值为固定的该行的所有列名称(例如 1)。

因此,在上表中,MSISDN = 9944994488 应该返回

MissedCall 
AdvanceCredit
SuitablePackId

我尝试过的是:

SELECT COLUMN_NAME as names 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'bi'
AND TABLE_NAME = 'useranalysisresult'

这会返回表的列名称。但如何获取具有特定值的列名。感谢您提前提供帮助。

最佳答案

评论太长了。

SQL 查询返回一组固定的列。您无法根据行更改设置。您可以使用准备好的语句来做您想做的事情,尽管这看起来像是一种神秘的方法。

可以返回一个包含连接在一起的值的列。像这样的东西:

select concat_ws(',',
(case when MissedCall = 1 then 'Missed Call' end),
(case when SponsoredCall = 1 then 'Sponsored Call' end),
. . .
)
from useranalysisresult;

这将在所设置的标志的单列中生成一个列表

关于mysql - 选择任何特定行具有固定值的列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25932995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com