我有以下SQL Server表:
CREATE TABLE [dbo].[security_templates_exceptions_item](
[objectid] [varchar](50) NOT NULL,
[moduleid] [tinyint] NOT NULL,
[type] [nchar](10) NULL,
[viewname] [nvarchar](30) NULL,
[itemid] [nvarchar](50) NULL,
[description] [nvarchar](50) NOT NULL,
[misc] [nchar](30) NULL,
[menuid] [smallint] NOT NULL,
[priority] [smallint] NOT NULL,
)
此表与孩子本身有关系。
所以逻辑很容易。
priority
具有以下值:
10
20
30
40
所有以0结尾的数字,如10,20等等都是父母。
如果我有
10
11
12
13
然后我知道11,12和13是10
的孩子。
遵循这个逻辑我想用objectid
列缩进一个字符串。
以下是包含架构和示例数据的SQL小提琴:http://sqlfiddle.com/#!6/1dc15/1
所以,如果我有以下数据:
我应该得到这种格式(看看objectid缩进):
有任何线索吗?
答案 0 :(得分:0)
这是你要找的吗?
小提琴: http://sqlfiddle.com/#!6/1dc15/9/0
您可以将objectid与空格或其他任何view_name不为空的内容连接起来。
select case when viewname is null then objectid else '......'+objectid end as objectid,
description,
priority
from security_templates_exceptions_item
order by menuid, priority