I have a table like this (simplified):
ID | Name | Parent --------------------------------- 1 | IND | NULL 2 | INS | 5 3 | CON | NULL 4 | AUT | 1 5 | FIN | NULL 6 | PHA | 1 7 | CFIN | 5 8 | CMRKT | 7
DDL:
CREATE TABLE [dbo].[tblIndustryCodes]( [IdIndustry] [int] IDENTITY(1,1) NOT NULL, [IndustryCode] [nvarchar](5) NULL, [IndustryName] [nvarchar](50) NULL, [ParentId] [int] NULL, CONSTRAINT [PK_tblIndustryCodes] PRIMARY KEY CLUSTERED ( [IdIndustry] ASC))
Inserts:
INSERT INTO [tblIndustryCodes] ([IndustryCode] ,[IndustryName] ,[ParentId]) VALUES ('IND','Industry',NULL), ('PHARM','Pharmacy',1), ('FIN','Finance',NULL), ('CFIN','Corporate Finance',3), ('CMRKT','Capital Markets',4)
And I would like to generate an xml file from it, which is structured according to the parent identifiers
like this (simplified)
<IND> <AUT> <PHA> <CON> <FIN> <CFIN> <CMRKT>
I believe this is done, perhaps with some kind of recursion or something like that, but I donโt know how to do it. Any help is much appreciated!
edit: its SQL Server Express 2008
I don't care if this is XML or not, because I only use it to populate the treeview control.
edit2: I would probably use "FOR XML EXPLICIT", but I really don't understand the syntax when there is no fixed maximum tree depth.
edit3: for easier understanding of the task, I added DDL for the table