0
我正在尝试使用多个表格表示的层次结构的文本打印输出。这些表是这样的:SQL Server打印表的层次结构?
create table #par1 (par1_id int primary key identity, par1_data varchar(8))
create table #par2 (par2_id int primary key identity, par1_id int , par2_data varchar(8))
create table #par3 (par3_id int primary key identity , par2_id int , par3_data varchar(8))
create table #par4 (par4_id int primary key identity , par3_id int , par4_data varchar(8))
create table #par5 (par5_id int primary key identity, par4_id int , par5_data varchar(8))
insert into #par1 values ('a')
insert into #par1 values ('b')
insert into #par1 values ('c')
insert into #par1 values ('c')
insert into #par2 values (1 , 'aa')
insert into #par2 values (2 , 'bb')
insert into #par2 values (3, 'cc')
insert into #par2 values (4, 'cc')
insert into #par3 values (1 , 'aaa')
insert into #par3 values (2 , 'bbb')
insert into #par3 values (3 , 'ccc')
insert into #par3 values (4 , 'ddd')
insert into #par4 values (1 , 'aaaa')
insert into #par4 values (2 , 'bbbb')
insert into #par4 values (3 , 'cccc')
insert into #par4 values (4 , 'dddd')
insert into #par5 values (1 , 'wwwww')
insert into #par5 values (1 , 'xxxxx')
insert into #par5 values (1 , 'yyyyy')
insert into #par5 values (1 , 'zzzzz')
我monkeyed各地与http://vyaskn.tripod.com/hierarchies_in_sql_server_databases.htm它创建正确的格式的代码,但我不能从单一的表结构的断裂与多个表来挖掘。 TSQL看起来像做什么样的结果:
----a
--------aa
------------aaa
----------------aaaa
--------------------wwwww
--------------------xxxxx
--------------------yyyyy
--------------------zzzzz
----b
--------bb
------------bbb
...etc
谢谢。
谢谢,但拉平表到#allPar,和我的实际表是数百万行的大,如果我更改模式来制作一些打印语句,DBA可能会生气。 – Snowy
@Snowy - 你想要打印数百万行?现在*真的*似乎是一个中间层问题。 –
我正在寻找代码的帮助。真正的查询当然会有一个Where子句。我试图帮助服务器/支持工程师在不依赖sqlcmd以外的任何应用程序的情况下运行后端检查任务。我被卡住了。 :) – Snowy