当前位置:首页 > 日记 > 正文

深sqloracle递归查询

深sqloracle递归查询
获取所有表的数据库表名、列名。
从中选择名称,xtype = U
选择名称列的id是(选择最大值(ID),从中

一些递归查询数据
的递归查询SQLServer2005和Oracle的SQL语句中的两个版本
在使用Oracle认为其递归查询是非常好的,我们的研究发现,它还支持SQLServer的SQL递归查询。
例子如下:
SQL的SQLServer2005版本如下:
例如,表具有id和PID字段,id是主键,PID表示其优越的节点、表结构和数据:
创建表{ } }(
{ null,
{ null,
{姓名} { nchar }(10)


INSERT INTO AAA VALUES (1,0,'a')
插入AAA值(0,B)
插入AAA值(3,1,C)
插入AAA值(4,1,会)
插入AAA值(5,2,e)
插入AAA值(6,3,F)
插入AAA值(7,3,'克')
插入AAA值(8,4,H)

-以下SQL是查询1个节点的所有子节点
作为与my1(SELECT * aaa id = 1)
联盟的所有选择AAA。* my1,AAA,my1.id = aaa.pid

SELECT * FROM my1 -它包含1的记录,如果你不想有,可最后补充道:在ID <> 1
-以下SQL是查询8个节点的所有父节点
作为与my1(SELECT * aaa id = 8)
联盟的所有选择AAA。* my1,AAA,my1.pid = aaa.id

SELECT * FROM my1;
-以下是递归删除1个节点和所有子节点的语句:
作为与my1(SELECT * aaa id = 1)
联盟的所有选择AAA。* my1,AAA,my1.id = aaa.pid

删除从AAA存在(选择ID从my1哪里my1.id = AAA。ID)
SQL的Oracle版本如下所示:
例如,ID和PID字段的表,ID是主键,PID代表其上级节点,表结构和数据参考SQLServer2005,SQL如下:
-以下SQL是查询1个节点的所有子节点
从AAA中选择*
从id = 1开始
通过pid连接
-以下SQL是查询8个节点的所有父节点
从AAA中选择*
从id = 8开始
通过事先连接pid = id
今天,帮助别人做一点有趣的sql,也是递归的,下面:
假设有一个销售表如下所示:
创建表{ TB }(
{ } } { int QJ空,月,这个测试从一月开始,连续几个月的数据,并在中间有没有分区。
{ null },这个月的实际销售金额
{ } { } RWE int空,因为这个月的销售任务
{ } { } FLD浮动空本月退税点大于任务量,及退税金额是杰* FLD
在{主}上
现在需要计算每月的回扣数额。规则如下:
一月的销售金额大于任务的回扣金额=回扣点
二月的销售额大于任务的回报(=每月1折扣)*折扣点。
3月份的销售额大于任务的退货额(每月1,2折扣)*折扣点。
下个月是类似的。当销售额少于任务时,利润是0。
具体的SQL如下所示:
复制代码代码如下所示:
与my1(如
*选择,
案例
当我> RWE然后(JE×FLD)
其他0
最后文件,
铸(0为浮点)TMP
从肺结核
其中QJ = 1
联盟的所有
选择TB *,
案例
当tb.je > tb.rwe然后(tb.je my1.fle - my1。TMP)
* tb.fld
其他0
最后文件,
my1.fle + my1.tmp TMP——积累上月返回
从my1,
肺结核
在tb.qj = my1.qj + 1

*选择
从my1

SQLServer2008使用表达式的递归查询
-父项的递归从属项
与热膨胀系数(ID,ParentID,文本)
作为
(父项目
选择ID,ParentID,文本从TreeView,ParentID = 450
联盟的所有
-递归结果集的较低级别
选择t.id,t.parentid,t.text TreeView T
内加入膨胀系数C t.parentid =入境

选择ID,ParentID,文本从CTE
贸易数据交换
自回归父类以来——
与热膨胀系数(ID,ParentID,文本)
作为
(子父项)
选择ID,ParentID,TreeView id是450的文本
联盟的所有
-递归结果集的父项。
选择t.id,t.parentid,t.text TreeView T
内加入膨胀系数C = c.parentid t.id

选择ID,ParentID,文本从CTE

相关文章

恢复了Win8系统的经典开始菜单的方

恢复了Win8系统的经典开始菜单的方

开始菜单,系统,恢复,方法,经典,评论:现在有一种方法可以恢复Windows 8新的启动体验到经典的开始菜单,也就是说,返回到Windows 7风格。 以下步骤如下: 1、运行regedit打开注册表编辑器。 2、依次展开hkey_current_user 软件微软 Windows curre…

将XP系统加载到虚拟硬盘并启动计算

将XP系统加载到虚拟硬盘并启动计算

加载,虚拟,硬盘,启动,系统,注释:您可以将XP系统加载到虚拟硬盘中,并使用它来启动计算机。令人惊奇的是,虚拟硬盘可以启动计算机,然后放弃虚拟机。在这里,我们介绍了图形处理XP加载VHD。 看文章的标题,不要去想它!XP系统可以加载到一个虚拟硬盘启动…

如何使excel函数少列打印列

如何使excel函数少列打印列

函数,电脑软件,excel,本文介绍了如何利用excel函数实现这一技术,适用于打印打印列,列数较少的excel表,避免出现大量空白。 我偶尔需要打印一些人数较少的形式例:成绩表,工资表,施工检查清单、产品代码表等。在建设者的年度检查表的情况下,只有号…

Oracleto_char日期转换字符串语句

Oracleto_char日期转换字符串语句

日期转换,语句,字符串,电脑软件,Oracleto_char,1是12小时显示。 SQL >选择to_char(SYSDATE,'yyyy-mm-dd hh12:MI:SS AM)从双; TO_CHAR (SYSDATE,'YYYY-MM-DDHH1) 这个 2007-06-29 02:50:06下午 2是24小时显示。 SQL >选择to_char(SYSDATE,…

走在边缘的人),是一场噩梦,梦里依然看

走在边缘的人),是一场噩梦,梦里依然看

边缘,的人,走在,梦里,噩梦,遗忘,遗忘 一个人美丽的烟花,没有时间去想明天。 唯一不该做的事,唯一能做的就是在适当的时候离开。 在爱情中,女人就是生命。愿用青春的一生去追求一份真挚的感情。 沉默像一首老歌的悲歌,遮住你的视线却模糊。 …

win7锁屏背景壁纸修改教程

win7锁屏背景壁纸修改教程

修改,锁屏,壁纸,教程,背景,点评:面对单调的桌面壁纸,你会知道你想改变桌面壁纸,但是你知道当电脑锁定屏幕时壁纸也会被替换吗。这是一个很好的教程,希望对你有帮助。 在面对电脑的人,电脑桌面壁纸单调,就会知道如何更改桌面壁纸,但如果你知道电脑…

在使用两种快速打开和关闭窗口的关

在使用两种快速打开和关闭窗口的关

系统,关闭窗口,两种,技能,关键,点评:如何快速打开一个新窗口,本文是介绍一种更直接的方法——直接使用鼠标按钮点击任务栏上的图标到Windows 7(只要程序支持多进程同时运行),感兴趣的朋友可以。 也许有时候你需要打开一个新窗口,比如浏览器或浏览…

PS图象处理软件快捷键文件操作

PS图象处理软件快捷键文件操作

文件操作,快捷键,图象,处理软件,电脑软件,核心提示:新的图形文件Ctrl + N,创建新的文件与默认设置,打开现有的图像,Ctrl + O打开…按Ctrl + Alt键,关闭当前图像Ctrl + w,保存当前。 新的图形文件 用默认设置创建一个新文件 打开现有的图像 打开……

如何快速建立一个在win7桌面PPPoE

如何快速建立一个在win7桌面PPPoE

宽带连接,快捷图标,桌面,建立一个,快速,点评:如何快速建立一个PPPoE宽带连接在Windows桌面吗宽带连接能够快速启动,XP系统的设置必须是大家耳熟能详的,然后分享设置Win7和你在体验,感兴趣的朋友可以参考一下。 计算机的普及到千家万户,网络时代…

64位win7的PL/SQL无法连接的解决方

64位win7的PL/SQL无法连接的解决方

解决方案,无法连接,电脑软件,SQL,PL,1,PL / SQL无法连接本地Oracle(或12154:TNS:无法解析指定的连接标识符) 解决方案:在程序文件(x86)文件夹下,不能安装在程序文件文件夹下 2,PL / SQL无法连接远程Oracle(的ora-12514:TNS:监听目前无法确定在连接描述…

dreamweaver.exeDreamweaver的程序

dreamweaver.exeDreamweaver的程序

文件,流程,程序,电脑软件,dreamweaver,点评:dreamweaver.exe是Macromedia公司的网页设计相关程序的Web网站的创建 进程文件:Dreamweaver或dreamweaver.exe 进程名称:Macromedia Dreamweaver 过程类别:安全风险的过程 英文描述: dreamweaver.ex…

利用sql实现总和小计,排序

利用sql实现总和小计,排序

排序,小计,总和,电脑软件,sql,注:个人学习笔记,总全显示,排序的bank_id + op_date 复制代码代码如下所示: 测试数据 创建表# TB(ID varchar(10),bank_id varchar(10),op_date varchar(10),operator_no varchar(20),AMT)。 插入# TB选择'1111 ','001 ','201…