您好,登錄后才能下訂單哦!
一、 背景
resc表保存了系統的一級、二級功能模塊,同時保存了二級功能模塊各頁面的功能,通過pid定義了父子關系。
想通過resc表,整理出一份,一級、二級功能模塊的對應關系,類似于這樣的結果。
二、 實現方法
select case when PID=1 then '用戶管理' when PID=4 then '代理管理' when PID=8 then '媒體管理' when PID=21 then '報表管理' when PID=26 then '內容管理' when PID=30 then '業績管理' when PID=34 then '財務管理' END as menu, `name`,PID from resc where pid in (select id from resc where pid=0) order by pid
執行結果:
將執行結果,粘貼到excel中,進行合并單元格,即可得到預期結果,可在excel中,對功能模塊進行跟蹤。
三、 理論
case表達式在sql中,可以實現if-then-else的邏輯。
有兩種類型的case表達式:
簡單case表達式,使用表達式確定返回值;
搜索case表達式,使用條件確定返回值。
使用簡單case表達式
語法:
case search_expression
when expression1 then result1
when expression2 then result2
...
when expressionN then resultN
else default_result
end
關鍵字說明:
search_expression, 待求值的表達式,數據表的某個字段;
expressionX, 是與search_expression進行比較的表達式;
result1 ,是符合表達式時,返回的值
default_result ,是無法匹配表達式時,默認返回值。
2. 搜索case表達式
語法:
case
when condition1 then result1
when condition2 then result2
...
when conditionN then resultN
else default_result
end
關鍵字說明:
condition, 是待求值的表達式;
result, 是返回值,condition1為真,則返回result1,以此類推。
default_result ,是無法匹配表達式時,默認返回值。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。