在最近的活字格項(xiàng)目中使用ActiveReports報(bào)表設(shè)計(jì)器設(shè)計(jì)一個(gè)報(bào)表模板時(shí),遇到一個(gè)多級(jí)分類的難題:需要將某個(gè)部門所有銷售及下屬部門的銷售金額匯總,因?yàn)橄聦偌?jí)別的層次不確定,所以靠拼接子查詢的方式顯然是不能滿足要求,經(jīng)過一番實(shí)驗(yàn),利用了CTE(Common Table Expression)很輕松解決了這個(gè)問題!

舉例:有如下的部門表

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

以及員工表

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

如果想查詢所有西北區(qū)的員工(包含西北、西安、蘭州),如下圖所示:

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

如何用CTE的方式實(shí)現(xiàn)呢?

Talk is cheap. Show me the code

網(wǎng)友評(píng)論