gpt4 book ai didi

sql - 多个 THEN 到单个 CASE 语句?

转载 作者:行者123 更新时间:2023-12-04 18:10:05 25 4
gpt4 key购买 nike

我想添加一个额外的列。这个额外的列将根据 case 语句获得一个值。例如,我的目标是,虽然语法非常错误,但可以实现这一点:当 'A' then 'Apple' AND 'ExtraColumn'=1 时。我试图使用下面的代码创建一个等效的,但我收到一个错误,我的 SQL 语法不正确。

select Patient,
case ColumnName
when 'A' then 'Apple'
when 'B' then 'Banana'
end ColumnName,
case ExtraColumn
when 'A' then '1'
when 'B' then '2'
end ExtraColumn,

ColumnResult
from TABLE

unpivot
(
ColumnResult

for ColumnName in (COL1,COL2,COL3)

for ExtraColumn in (COL1,COL2,COL3)

)u

最佳答案

您必须为每个列名重复 case 构造。像这样的东西:

case ColumnName 
when 'A' then 'Apple'
when 'B' then 'Banana'
end ColumnName,

case ColumnName
when 'A' then '1'
when 'B' then '2'
end ExtraColumn,

这里有一个问题。如果您在 where 子句中使用 ColumnName,您可能不喜欢结果,因为您将其用作别名。

编辑从这里开始

您可以随心所欲地制作别名。如果它们很简单,只需键入它们。
 select column1 fred, column2 barney

如果你想要多个单词,或者一个 sql 关键字,请使用双引号
select column1 "fred flinstone", column2 "select"

关于sql - 多个 THEN 到单个 CASE 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16309443/

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