SQL 有父标识的 递归查询
递归查询,临时表的高级应用
WITH temp
AS
(
--父项
SELECT * FROM Ar_Area WHERE Ar_Parent =
UNION ALL
--递归结果集中的下级
SELECT m.* FROM Ar_Area AS m
INNER JOIN temp AS child ON m.Ar_Parent = child.Ar_Code
)
SELECT * FROM temp
实际应用:
只查一个父ID的所有子分类包括自己
WITH temp
AS
(
--父项
SELECT * FROM tg_ProductCategory WHERE CategoryKey = 'BaiGe'
UNION ALL
--递归结果集中的下级
SELECT m.* FROM tg_ProductCategory AS m
INNER JOIN temp AS child ON m.Parentid = child.ProductCategoryid
)
SELECT ProductCategoryId,ParentId,ProductCategoryName FROM temp
查询结果如图:

如果查某商品是否属于跟节点【特价商品】的就用
WITH temp
AS
(
--父项
SELECT * FROM tg_ProductCategory WHERE CategoryKey = 'BaiGe'
UNION ALL
--递归结果集中的下级
SELECT m.* FROM tg_ProductCategory AS m
INNER JOIN temp AS child ON m.Parentid = child.ProductCategoryid
)
select * from tg_GroupProduct where NewCategoryId in(
SELECT ProductCategoryId FROM temp) and GroupProductId=
SQL 有父标识的 递归查询的更多相关文章
- sql自动增长标识(转载)
sql自动增长标识 对于一个设了自动增长标识的数据表来说,它的字段的值是由数据库自动设置的:这在导数据时很麻烦. 当我们导数据时,我们往往想想将标识字段的数据也导进来,怎么办呢? 方法有两 ...
- SQL Server修改标识列方法(备忘)
原文:SQL Server修改标识列方法(备忘) SQL Server修改标识列方法 ----允许对系统表进行更新 exec sp_configure 'allow updates',1 reconf ...
- SQL Server实现数据的递归查询
在一次项目中遇到一种需求,需要记录某产品的替换记录. 实际应用举例为:产品101被201替换,之后201又被303替换,303又被109替换:产品102被202替换,之后202又被105替换. 现在我 ...
- sql server获取标识,获取最后ID IDENT_CURRENT、IDENTITY、SCOPE_IDENTITY区别
概念解释 IDENT_CURRENT returns the last identity value generated for a specific table in any session and ...
- SQL Server解惑——标识列的限制和跳号现象
1:每个表只能创建一个标识列. 如下测试所示,如果表中有一个标识列,新增一个标识列就会遇到错误"Multiple identity columns specified for table ...
- SQL 数据库表标识列初始化 DBCC
把ArimaIndexForecastModel这张表的标识列重置为0,前提是这张表执行过删除操作 示例: dbcc checkident('ArimaIndexForecastModel',res ...
- sql查父节点小笔记
)) ),sortNum int) as BEGIN DECLARE @sortNum int --得到当前id的父id, select @id = ParentId, @sortNum =Sortn ...
- MySQL递归查询父节点或递归查询子节点-陈远波
根据id查询父节点,具体需要修改的地方笔者已在注释中给大家作了注解 DELIMITER $$ USE `yjlc_platform`$$ -- getCompanyParent 为函数名 DROP F ...
- SQL查询父节点下的所有子节点(包括子节点下的子节点,无限子节点)
-->Title:Generating test data -->Author:wufeng4552 -->Date :2009-09-30 08:52:38 set nocount ...
随机推荐
- Javascript 多线程?
最近在遇到一个问题:HTML页面中的页面无法刷新,只能在底层全部处理完成后才能进行页面刷新.在里面已经采用SetTimeout进行了处理,但是明显没有达到预期的效果. 主要的原因是对SetTimeou ...
- ORM Entities vs. Domain Entities under Entity Framework 6.0
I stumbled upon the following two articles First and Second in which the author states in summary th ...
- vijos P1459 车展(Treap,中位数)
P1459车展 描述 遥控车是在是太漂亮了,韵韵的好朋友都想来参观,所以游乐园决定举办m次车展.车库里共有n辆车,从左到右依次编号为1,2,…,n,每辆车都有一个展台.刚开始每个展台都有一个唯一的 ...
- extjs Cannot read property 'dom' of null
如果你的EXTJS报错: Cannot read property 'dom' of null,那就有可能是因为你的HTML或者JSP文件中的BODY标签里面少了个东西比如代码是: <html& ...
- maven,spring,mybatis集成错误
maven,spring,mybatis集成的时候单元测试junit测试没问题,但mvn jetty:run 就报错误 错误: org.apache.ibatis.binding.BindingExc ...
- Linux/U-Boot Git Repo
Linux: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git U-Boot: git://git.denx.de/ ...
- HDOJ-ACM1008(JAVA)
这道题很简单,主要是要搞清楚题目的意思 以下是JAVA语言实现: import java.util.*; import java.io.*; public class Main{ public sta ...
- 教程-Delphi设置功能表
1.锁定窗体上的控件,禁止移动位置 D7-Edit>Lock Controls 2.设置控件永久显示名字 D7-Tools>Environment Options>Designer& ...
- 问题-Delphi不能进行调试模式
问题现象:delphi不能进行调试模式 问题原因:可能是防火墙的原因,我有一次在电脑清理时,把delphi的调试程序名放在了360的黑名单中,按F9后,无法调试. 问题处理:你懂的(要不白名单,要不你 ...
- Android开发中如何强制横屏和强制竖屏设置
Android开发中如何强制横屏和强制竖屏设置 强制横屏设置: 按照下面代码示例修改Activity的onResume方法 @Override protected void onResume() { ...