ms sql server递归查询
2012-02-21 16:47
447 查看
表结构
CREATE TABLE District (
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
复制代码
复杂一点,树形结构表和其他表有关联
代码
--复杂一点,树形结构表和其他表有关联
;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
复制代码
CREATE TABLE District (
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
复制代码
复杂一点,树形结构表和其他表有关联
代码
--复杂一点,树形结构表和其他表有关联
;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
复制代码
相关文章推荐
- MS SQL Server递归查询
- MS SQL Server递归查询
- 分页存储过程(五)在MS SQL Server中打造更加准确,且有一点效率提升的的分页结果
- SAP中使用ABAP远程连接MS Sql Server服务器
- 跟我学MS SQL Server(1)
- MS SQL Server获取十二个月份的英文缩写
- Asp.net 备份、还原Ms SQLServer及压缩Access数据库
- MS SQL Server 查询数据库最近一次备份状态
- c语言使用freetds连接ms sql server
- MS sql server 判断表/视图/存储过程是否存在
- 在MS SQL SERVER 客户端(企业管理器或management studio)中输入 null 值
- MS SQL Server数据库事务锁机制分析
- 收集到的:如何调用存储过程,有返回值的,有参数的,存储过程中调用存储过程。(MS SQL Server)
- 将 MS SQL Server 2005 SP2 整合到安装文件--【脚本修正】
- MS SQL Server收缩日志文件
- win7下安装ms sql server 2005 manamgement studio报错29506问题
- 连接ms sqlserver错误
- Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)
- MS SQL SERVER 存储过程事务的实现方式
- 如何使用Oracle SQLDeveloper 中连接MS SQLServer和MySQL数据库