SQL输出:是否可以创建临时输出列?
发布时间:2020-12-12 08:57:11 所属栏目:MsSql教程 来源:网络整理
导读:例如,我的数据库中有一个表格如下: |物品编号|商品名称|价格|项目状态| 其中Item ID = int,Item Name = string,Price = int,Item Status = Enum 物品状态…… 让我们说“2”代表“即将推出”, “1”代表“可用”, 而“0”代表“已售完” 我想显示这样的信息,
例如,我的数据库中有一个表格如下:
|物品编号|商品名称|价格|项目状态| 其中Item ID = int,Item Name = string,Price = int,Item Status = Enum 物品状态…… “1”代表“可用”, 而“0”代表“已售完” 我想显示这样的信息,以便我可以告诉用户哪个视图输出表以更可接受的输出(字符串)知道状态,而不是查看Enum值: | Item ID | Item Name | Price | Item Status | **Description** | | 123 | Apple | [some number] | 0 | Sold Out | | 234 | Orange | [some number] | 2 | Coming Soon | 其中Description是我想要显示的临时列作为附加信息. 我可以知道一个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] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- hresult 0xC0010014 错误的解决方法
- SQL Server 存储过程里,bulk insert table from &#039
- 使用Subquery vs Left Joins进行MySQL索引优化
- database – 使用`BEFORE INSERT`触发器更改传入数据的数据
- 在SQL中使用RANK()OVER将rank设置为NULL
- SqlServer2012不支持Compute语句
- SQL Server 索引结构及其使用(一)--深入浅出理解索引结构
- "SQLServer复制需要有实际的服务器名称才能连接到服务器
- 使用MySQL的yum源安装MySQL5.7数据库的方法
- SQL大全基本语法