[SQL ] 分層(樹狀結構)的問題及一些語法問題

看板Database作者 (ま!)時間14年前 (2011/11/04 15:41), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
因為最近在弄報表的東西 所以開始接觸到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)

11/04 17:39, , 1F
DATE 好像是保留字 你要換一下嗎? 或是用 [DATE]
11/04 17:39, 1F

11/04 17:44, , 2F
.....我看到了 你WHERE 打錯了 多個R...=.=
11/04 17:44, 2F

11/07 10:09, , 3F
我真的眼花了... 謝謝你
11/07 10:09, 3F
文章代碼(AID): #1EivSreg (Database)