sql-server - SQL Server 查询替换列中的文本
问题描述
我的数据库中有一些表。
首先是Employees
由EmployeedId
(PK), Name
, Email
, ContactNo
, password
, salary
, 和employeestatus
( FOREIGN KEY REFERENCES Status(id)
)组成
第二个表是Address
有列的
AddressId (PK), Id (FOREIGN KEY REFERENCES Employees(EmployeeId),
Addressstatus (FOREIGN KEY REFERENCES CheckListAction(id)), EmployeeAddress
CheckListAction
有id
(PK) 和value
(YES, NO, N/A)
Status
有id
(pk) 和value
(A 表示活跃,I 表示不活跃,W 表示等待)
现在我创建了一个网格,显示来自Employees
和Address
表的数据。这是使用的查询:
SELECT
e.name, e.email, e.contactno,
a.employeeaddress, e.salary, e.empployeestatus
FROM
Employees e
LEFT OUTER JOIN
Address a
WHERE
a.addressstatus = 1
现在我的网格将employeestatus 显示为A、I 或W。用户不知道A、I 或W 的含义,所以我想向用户显示ACTIVE、INACTIVE 或WAITING 的全名。那么如何修改上面的查询以显示全名而不仅仅是字母。
解决方案
您应该按照 jean 的建议阅读 CASE。这是微软页面: https ://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql?view=sql-server-ver15
这是我的快速解决方案:
SELECT
e.name, e.email, e.contactno,
a.employeeaddress, e.salary,
CASE e.empployeestatus
WHEN 'A' THEN 'ACTIVE'
WHEN 'I' THEN 'INACTIVE'
WHEN 'W' THEN 'WAITING'
END
FROM
Employees e
LEFT OUTER JOIN
Address a
WHERE
a.addressstatus = 1
推荐阅读
- javascript - 将 json 数据集合传递到 DataTable
- c# - 二维数组中的控制
- r - 如何根据两个自变量使用 R 来推断双分变量?
- git - 基本身份验证的 git push 身份验证问题
- python - 没有从 while 循环中获得适当的输出
- python - 构造函数的 DataFrame 错误未正确调用
- c++ - 我们可以有一个字符串树(在 C++ 中)吗?如果没有,最快的解决方案是什么?
- vb.net - 如何在标题单击 VB.NET 的 Datagridview 中对日期进行排序
- python - 字典中的 n-gram 模糊匹配
- java - 如何将 Azure Cosmos DB 中的拉模型与 Java 结合使用?