作者shirley72078 (ま!)
看板Database
标题[SQL ] 分层(树状结构)的一些问题
时间Fri Nov 4 15:41:37 2011
因为最近在弄报表的东西
所以开始接触到M$ SQL
有两个问题想要请问....
1.爬了不少文
却还是不知道应该要如何在报表上显示分层的画面
ex: 总经理--会计部
∟财务课
∟会计课
∟人资部
∟采购部
∟资讯部
∟总务部
有去php的"商品型录分层问题"看过
似乎是要用到指标的样子
因为user要求在报表上呈现出某人在某个部门下
可是要显示出他上一层级的部门是什麽
想要请问大家
M$ SQL应该要如何下指令
才能做出知道上一层的结点是什麽(Ex:财务课上一层是会计部)
然後带出他上一层的结点 让报表可以呈现出分层的状态?
还是说这个只能用程式语言才写的出来?
2.
我照着文章上的写法
试着做出了一个declare的虚拟TABLE
可是不知道哪里有问题
在执行时 一直会出现"接近'DATE'之处的语法不正确"
DECLARE @NEW TABLE(DATE DATETIME,HOURS VARCHAR(10))
DECLARE @STR VARCHAR(100),@DATE DATETIME,@MAXDATE DATETIME
SELECT @DATE=MIN(DATE),@MAXDATE=MAX(DATE) FROM ATTENDANCEROLLCALL
WHILE (@DATE<=@MAXDATE)
BEGIN
SELECT @STR=NULL
SELECT @STR=IsNull(@STR,HOURS)+HOURS
FROM ATTENDANCEROLLCALL
WHERE DATE=@DATE
INSERT INTO @NEW(DATE,HOURS)
SELECT TOP 1 @DATE,@STR
FROM ATTENDANCEROLLCALL
WHERE DATE=@DATE
SELECT @DATE=MIN(DATE) FROM ATTENDANCEROLLCALL WHERER DATE>@DATE
--↑这行出了问题 只要对这行注解 程式就可以执行
END
SELECT * FROM @NEW
可是却不知道到底DATE哪里的语法错误
小妹不才...
希望能够请板上的大大帮忙解惑<(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.169.163
※ 编辑: shirley72078 来自: 59.124.169.163 (11/04 15:54)
1F:→ hjt00:DATE 好像是保留字 你要换一下吗? 或是用 [DATE] 11/04 17:39
2F:→ hjt00:.....我看到了 你WHERE 打错了 多个R...=.= 11/04 17:44
3F:→ shirley72078:我真的眼花了... 谢谢你 11/07 10:09