SQL递归查询部门
create function [dbo].[DeptTree](@initDeptCode varchar(10))/*定义函数c_tree,输入参数为初始节点DeptCode*/
returns @t table(DeptCode varchar(10),UpDeptCode varchar(10),lev int)/*定义表t用来存放取出的数据*/
begin
declare @i int/*标志递归级别*/
set @i=1
insert @t select DeptCode,UpDeptCode,@i from vi_dept where DeptCode=@initDeptCode
while @@rowcount<>0
begin
set @i=@i+1
insert @t select a.DeptCode,a.UpDeptCode,@i from vi_dept as a,@t as b
where b.DeptCode=a.UpDeptCode and b.lev=@i-1
end
return
end
select * from dbo.DeptTree('0000')
相关文档:
---一个月的第一天
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
--- 本周的星期一
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
---一年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
----季度的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
----上个月的最后一天
......
UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT) ......
1. Group By 语句简介:
Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。
P.S. 这里真是体会到了一个好的命名的力量,Group By从字面是直接去理解是非常好理解的。恩,以后在命 ......
在写sql语句时,一般都是一句解决,从来没想过说,把sql语句拆开来写。
例如下面这句: string readstring = "select * from 实例 where 实例ID='"+eid+"'";
然后执行 Myconnection();
DataSet ds = new DataSet();
OleD ......