以类似树格式的父子格式编写查询

Write Query in Parent Child like tree format

我正在处理一个 MVC C# 项目,我的 SQL 查询有些复杂。我有三张桌子

  1. 客户
  2. 等级
  3. 关卡详情

两个表都有关系

级别映射到级别详细信息,级别详细信息映射到客户和级别

我想以树格式显示该数据,例如:

父级:客户名称 CustomerId 客户类型

     Test          T1          TestCustomer

Child Levelid Leveldesc 城邦

      L1       L1desc     C1    S1

      L2       L2desc     C2    S2

逻辑是,当我单击父项时,它会显示子级别。

我试过这个查询

select LD.Level_Rid, LD.Customer_Rid, LD.Level_Detail_Rid, L.Level_Id, L.Level_Description, L.Country, L.State, L.City, L.Area, CU.Customer_Name, CU.Customer_Type
FROM [dbo].[Level] L
INNER JOIN [dbo].[Level_Detail] LD ON R.Level_Rid = RD.Level_Rid 
INNER JOIN [dbo].[Customer] CU ON LD.Customer_Rid = CU.Customer_Rid

是否可以SQL查询?

我用 cte 写了这个查询:

WITH cte_cu as 
 ( select Customer_Rid from  [dbo].[Customer] as cU )
--select * from  cte_cu where CustomerRid = CustomerRid
select Customer_Rid, 1 orderKeeper,Customer_Name as CustomerName ,[State] as [State],City,Customer_id from  [dbo].[Customer]  where Customer_Rid = Customer_Rid
union
select Customer_Rid,2,'LevelId' as Customer_Name ,'LevelDescription' ,'','' from  [dbo].[Customer]
union
select Customer_Rid,3,Level_Id as Customer_Name ,Level_Description,'','' 
FROM [dbo].[Level_Detail] LD 
inner join dbo.[Level] as L on LD.Level_Rid = L.Level_Rid 
where LD.Customer_Rid = Customer_Rid

结果:

我在 git 中心上传了创建 Table 和插入模拟数据:

https://github.com/mghanatabady/SQL-Samples/blob/master/Write%20Query%20in%20Parent%20Child%20like%20tree%20format.SQL