修改查询结果的列'
本文关键字:查询 结果 修改 | 更新日期: 2023-09-27 18:15:44
这是我执行请求后的结果。
Category
K
O
I
P
Q
K
这是我需要的结果。
Category
Key
Non-Key
Intercompany
Non-Key
Non-Key
Key
我不在乎它是否有序。要做到这一点,我有这个xml文件。
<BPCategories>
<BPCategory name="Core">
<type value ="C"/>
</BPCategory>
<BPCategory name="Intercompany">
<type value="I"/>
</BPCategory>
<BPCategory name = "Key">
<type value="K"/>
</BPCategory>
<BPCategory name = "Non-Key">
<type value="0"/>
<type value="_"/>
<type value="L"/>
<type value="N"/>
<type value="O"/>
<type value="P"/>
<type value="Q"/>
<type value="S"/>
<type value="V"/>
</BPCategory>
<BPCategory name="WOV">
<type value="W"/>
</BPCategory>
</BPCategories>
所以我的问题是,是否有可能在sql查询中做到这一点?你们必须知道,我没有一个表来表示类别之间的对应关系。即使可能,通过对结果集执行for循环来更改值不是更好吗?事实上,我正在寻找在c#中做到这一点的最佳方法。
您可以轻松地在select语句中使用CASE
Select
CASE Category
WHEN 'K' THEN 'Key'
WHEN 'O' THEN 'Non-Key'
WHEN 'I' THEN 'InterCompany'
WHEN 'P' THEN 'Non-Key'
WHEN 'Q' THEN 'Non-Key'
WHEN 'K' THEN 'Key'
END as Category
FROM ...
假设这是MS-SQL server: http://msdn.microsoft.com/en-us/library/ms181765.aspx
查看SQL CASE表达式