`

如何在sqlserver实现oracle中START WITH id = '' CONNECT BY PRIOR id=p_id语句

 
阅读更多
--oracle中的 START WITH id = '' CONNECT BY PRIOR id=p_id 如何在sqlserver中实现呢。
最好的解决办法:
WITH NODES   
 AS ( 
 SELECT * FROM DBO.T_ADMIN_RMS_CD C WHERE C.XH = '200909271033495d64880c587a4beda5bbac86fd92e0ec'
 UNION ALL   
 SELECT CSC.*FROM T_ADMIN_RMS_CD AS CSC INNER JOIN 
  NODES  AS RC ON CSC.FCDXH = RC.XH)  
  SELECT FROM T_ADMIN_RMS_CD WHERE XH IN (SELECT XH  FROM NODES N )  
 

分享到:
评论

相关推荐

    connect by的使用探索

    [START WITH condition CONNECT BY PRIOR condition] [ WHERE condition ][ [ START WITH condition ] CONNECT BY condition [ ORDER SIBLINGS BY expression ] ] ``` 其中,`START WITH`子句用于指定查询的起始...

    ORACLE与SQLSERVER语法差异分析

    - 在SQL SERVER中,递归查询通常使用`WITH`子句创建公共表表达式(CTE),结合`UNION ALL`和`JOIN`来实现。如示例所示,`cte_root`或`cte_child`定义递归起点,`connect by ID=prior ParentID`表示递归路径。 - ...

    sql查询某个parentid下的所有childid

    - **使用其他函数**:结合其他Oracle函数(如`SYS_CONNECT_BY_PATH`)可以获得更丰富的层次结构信息,例如获取整个路径等。 通过以上介绍,我们可以看出,Oracle的`CONNECT BY`特性是非常强大的工具,能够有效地...

    数据库设计之递归树查询

    本文将深入探讨如何通过递归查询来解决这类问题,并着重讲解使用`WITH`语句来实现递归查询的方法,适用于多种数据库系统,如MySQL、PostgreSQL、SQL Server等。 一、理解递归查询 递归查询是一种在数据库中遍历层级...

    在ORACLE、MSSQL、MYSQL中树结构表递归查询的实现.pdf

    ORACLE、MSSQL(Microsoft SQL Server)、MYSQL是三大主流数据库系统,它们各自提供了不同的方式来实现递归查询。 首先,我们来看ORACLE数据库中的递归查询。ORACLE通过CONNECT BY子句来实现递归查询。CONNECT BY...

    Oracle常用操作(项目中积累的经验)

    这些关键词用于构建树状结构,其中`LEVEL`表示层次,`CONNECT_BY_ISLEAF`标识叶子节点,`SYS_CONNECT_BY_PATH`生成路径,`START WITH`指定起始节点,`CONNECT BY PRIOR`定义层级关系,`CONNECT_BY_ROOT`查找根节点,...

    oracle递归查询的例子

    在数据库查询语言中,Oracle 提供了一种强大的功能——递归查询,这在其他数据库系统如 SQL Server 中是缺失的功能。递归查询允许用户执行多级关联查询,特别适用于处理具有层次结构的数据,例如组织结构图、文件...

    深入sql oracle递归查询

    Oracle则使用`START WITH` 和 `CONNECT BY` 子句来实现递归查询。对于上述相同的表结构,查询1号节点的所有子节点的Oracle SQL语句如下: ```sql SELECT * FROM aaa START WITH id = 1 CONNECT BY pid = PRIOR id; ...

    常用sql语句的收集

    在SQL Server中,掌握一些常见的SQL语句是提高工作效率的关键。以下是一些关于SQL查询的常用技巧和知识点: 1. **去除重复记录**: 使用`GROUP BY`和`HAVING`子句可以去除表中的重复字段。例如,如果你想找出`表`...

    oracle常用语法

    在Oracle中,使用 `START WITH` 和 `CONNECT BY PRIOR` 子句来执行此类查询。 **语法示例**: ```sql SELECT * FROM sys_areas START WITH area_name = 'ɳ' CONNECT BY PRIOR area_id = up_area_id ORDER BY area_...

    一种MySQL数据库SQL递归查询的研究与实现.pdf

    CONNECT BY PRIOR`子句直接支持递归查询,而SQL Server 2005及以上版本则利用公共表表达式(CTE)的递归调用来实现。POSTgreSQL同样支持CTE子查询进行递归。这些数据库允许在SQL语句中直接对子查询进行递归调用,...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询)  数据控制语言Data Controlling Language(DCL),用来...

    SQL最佳实践

    - **CONNECT_BY在DB2、SQL Server中的实现**:虽然不同数据库系统的实现方式略有差异,但核心思想相似。 - **CONNECT_BY_ROOT**:返回层次结构的根节点。 - **SYS_CONNECT_BY_PATH()**:用于构建层次路径。 - **...

    总结问题集合

    `Connect By Prior`是Oracle数据库中的一个特殊查询语句,用于检索具有层次结构的数据。它允许你定义节点之间的父/子关系,并按层次顺序检索结果。例如: ```sql SELECT * FROM TBL_TEST START WITH id = 10 ...

    OAF 开发笔记

    通过SQL查询,如`SELECT path_name, path_docid, path_owner_docid, path_type FROM jdr_paths START WITH path_name='CsfDashBoardPG' CONNECT BY PRIOR path`,可以追踪到具体的修改记录,这对于维护和审计至关...

Global site tag (gtag.js) - Google Analytics