MS SQL Server递归查询数据
2010-11-26 13:49 Virus-BeautyCode 阅读(1436) 评论(1) 编辑 收藏 举报
表结构
CREATE TABLE District (
DisCode VARCHAR(10),
DisName VARCHAR(10),
DisFatherCode VARCHAR(10),
HasChild BIT
)
DisCode VARCHAR(10),
DisName VARCHAR(10),
DisFatherCode VARCHAR(10),
HasChild BIT
)

;WITH AllDiscodes AS (
--递归查询出@discode的父级地域,用于筛选最匹配的打折信息
SELECT discode,
d.DisFatherCode
FROM District d
WHERE d.DisCode = '652324522218'
UNION ALL
SELECT d.discode,
d.DisFatherCode
FROM District d
INNER JOIN AllDiscodes ad
ON d.discode = ad.DisFatherCode
)SELECT * FROM alldiscodes
--递归查询出@discode的父级地域,用于筛选最匹配的打折信息
SELECT discode,
d.DisFatherCode
FROM District d
WHERE d.DisCode = '652324522218'
UNION ALL
SELECT d.discode,
d.DisFatherCode
FROM District d
INNER JOIN AllDiscodes ad
ON d.discode = ad.DisFatherCode
)SELECT * FROM alldiscodes
复杂一点,树形结构表和其他表有关联

--复杂一点,树形结构表和其他表有关联
;WITH targets AS (
SELECT DISTINCT t.TargetCode,
t.TargetFatherCode,
t.TargetName,
t.Haschild
FROM [Target] t
INNER JOIN CropTarget ct
ON t.TargetCode = ct.TargetCode
AND ct.CropClassCode = 'zw00010001'
UNION ALL
SELECT t.TargetCode,
t.TargetFatherCode,
t.TargetName,
t.Haschild
FROM [Target] t
INNER JOIN targets ts
ON ts.TargetFatherCode = t.targetcode
)
SELECT DISTINCT ts.*,t.TargetName AS TargetFatherName
FROM targets ts left JOIN [Target] t ON ts.targetfathercode=t.TargetCode
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2009-11-26 Design Pattern 设计模式【观察者】
2008-11-26 开发sharepoint工作流过程中的Ptifall(容易犯的错误)
2008-11-26 宿主和工作流:两个世界的交互 4(Host给工作流传递数据)