gpt4 book ai didi

SQL 输出 : Is it possible to create a temporary output column?

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

例如,我的数据库中有一个如下表:

|商品编号 |项目名称 |价格 |项目状态 |

其中项目 ID = int,项目名称 = 字符串,价格 = int,项目状态 = 枚举

至于元素状态...
假设“2”代表“即将推出”,

“1”代表“可用”,

而“0”代表“售罄”

我想显示信息,以便我可以告诉查看输出表的用户知道更可接受的输出(字符串)中的状态,而不是查看枚举值:

| Item ID | Item Name | Price         | Item Status | **Description** |
| 123 | Apple | [some number] | 0 | Sold Out |
| 234 | Orange | [some number] | 2 | Coming Soon |

哪里 说明 临时我想作为附加信息显示的列。

我可以知道一次 GO 中的语法如何吗?

请指导我。非常感谢你。

最佳答案

那么最简单的方法是使用 CASE 语句 - 假设您只有 3 个描述?

select ItemId,
Item_name,
price,
Item_status,
Case
When Item_status = 0 then 'Sold Out'
When Item_status = 1 then 'Available'
When Item_status = 2 then 'Coming Soon'
End as [Description]

From dbo.YourTable

另一种选择是创建一个临时表并加入该表。
Create Table #TempEnums
(
Id int,
Desc varchar(50)
)
Insert Into #TempEnums
Select 0, 'Sold Out' Union Select 1, 'Available' Union Select 2, 'Coming Soon'

然后只需加入临时表
select a.ItemId,
a.Item_name,
a.price,
a.Item_status,
b.Desc as [Description]

From dbo.YourTable a
Join #TempEnums b on a.Item_Status = b.Id

编辑

更改 [description] 的数据类型列只是包裹在 Convert陈述
       Convert(Varchar(25),  
Case
When Item_status = 0 then 'Sold Out'
When Item_status = 1 then 'Available'
When Item_status = 2 then 'Coming Soon'
End) as [Description]

关于SQL 输出 : Is it possible to create a temporary output column?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5961810/

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