作者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