我有一个带有'ContentSubCategory'名称的表格。字段如下所示:
Id int
FaName nvarchar(50)
IsSpecial bit
IsPerishable bit
IsDanger bit
现在我想要一个查询,显示内容名称列表和设置为True的属性。 例如:
Row ContentInfo
------------------------------------
1 animal - IsSpecial
2 Human Body - IsSpecial,IsPerishable
3 Danger Goods - IsSpecial,IsDanger
我该怎么做?
答案 0 :(得分:0)
select cast(FaName as varchar)+' - '+cast(
case when IsSpecial = 1 then 'IsSpecial,' else '' as varchar)+cast(
case when IsPerishable = 1 then 'IsPerishable,' else '' as varchar)+cast(
case when IsDanger = 1 then 'IsDanger' else '' as varchar)
from your_table
试试这个并调整自己的喜欢。
答案 1 :(得分:0)
您还可以使用STUFF()
:
SELECT
FaName
,ISNULL(
NULLIF(
STUFF(
CASE WHEN IsSpecial = 1 THEN ', IsSpecial' ELSE '' END
+ CASE WHEN IsPerishable =1 THEN ', IsPerishable' ELSE '' END
+ CASE WHEN IsDanger = 1 THEN ', IsDanger' ELSE '' END
, 1, 2, '')
,'')
, 'Unknown')
As Class
FROM TableName