Mysql 更改SQL查询中的返回值
我正在使用实时查看程序进行SQL查询(并让我编辑一段代码) 目前的代码是:Mysql 更改SQL查询中的返回值,mysql,sql,sql-server,Mysql,Sql,Sql Server,我正在使用实时查看程序进行SQL查询(并让我编辑一段代码) 目前的代码是: SELECT [LogonName] AS [Logon name], [LogonExtension] AS [Logon extension], [VoiceReady] AS [Ready for Voice], [CallState] AS [Call state] FROM [AgentPerformance] WHERE (AgentID IN (1
SELECT
[LogonName] AS [Logon name],
[LogonExtension] AS [Logon extension],
[VoiceReady] AS [Ready for Voice],
[CallState] AS [Call state]
FROM
[AgentPerformance]
WHERE
(AgentID IN (1, 2, 3))
这将返回:
现在我的问题是,有没有办法将返回的“呼叫状态”值更改为忙碌、空闲、处理等。。。(有3个不同的值)
例如,我尝试过:
SELECT
[LogonName] AS [Logon name],
[LogonExtension] AS [Logon extension],
[VoiceReady] AS [Ready for Voice],
[CallState] AS [Call state]
FROM
[AgentPerformance]
WHERE
(AgentID IN (1, 2, 3))
SELECT
CASE
WHEN CallState = 0 THEN 'No'
WHEN CallState = 1 THEN 'Yes
ELSE 'Maybe'
END AS kakaduu
FROM
AgentPerformance
但这对我不起作用。您的
案例
表达式需要与其他列一起出现在选择
列表中。第二个SELECT
在您的示例中是不正确的语法
那么,试试这个:
SELECT [LogonName] AS [Logon name], [LogonExtension] AS [Logon extension], [VoiceReady] AS [Ready for Voice], [CallState] AS [Call state],
CASE
WHEN CallState = 0 then 'No'
WHEN CallState = 1 then 'Yes'
ELSE 'Maybe'
END
AS kakaduu
FROM [AgentPerformance]
WHERE AgentID IN (1, 2, 3)
SQL Server或mysqlWhat means
对我不起作用
?你的case语句应该在where子句之前..那对你起作用总是有三个调用状态值,或者列表将来可能会更改吗?Jens:我真的不知道答案,对不起:/Toonice:在futureCase表达式中列表可能会有更改,不是声明,好多了。大小写表达式返回一个值。存储过程中使用的case语句只是有条件地执行代码。@JakeRahu您的问题与此图中出现错误的查询之间的关系是什么?似乎当我使用“case”时,查询(在此特定程序中)返回错误,我还可以尝试其他方法吗?