权限的问题,求SQL语句

问题描述

我有一个权限系统,授权页面是左边树,右边权限。树的结构需要 部门--岗位--用户要能给用户授权,也能给岗位授权表结构是这样的 部门表idname岗位表idname用户表idname部门岗位用户关联表bmidgwiduserid我想通过SQL直接组装成树型结构(例如)id pid name1 0 局领导2 0 营销部3 0 业务部4 1 计划管理专员5 1 中层领导6 2 部门领导7 3 部门领导8 4 张三9 4 李四10 6 王五如上,求解答。

解决方案

select C.id,C.Pid,C.name from test.iteyedept C where C.pid=0 or C.pid in (select A.Pid from test.iteyedept A inner join test.iteyedept B on A.Pid = B.Id)

时间: 2024-10-22 00:38:52

权限的问题,求SQL语句的相关文章

求sql语句(oracle),怎么求余额啊

问题描述 求sql语句(oracle),怎么求余额啊 现在已知人名,求ta的余额... 解决方案 发的都是什么乱七八糟的 连基本的文字说明都没有 怎么给你解答 解决方案二: 解决方案三: 解决方案四: 解决方案五: 解决方案六: 解决方案七: 解决方案八: 解决方案九: 解决方案十:

求sql语句中带有条件的查询

问题描述 求sql语句中带有条件的查询 我现在有一张users表,有字段uid,uname,address,phone1,phone2,phone3: 我想在这张表中这样查: 主要查phone1,但是如果有一条数据的phone1位空的话,就查phone2,如果phone1,phone2都为空就查phone3,这样的SQL语句要怎么写呢,求大神帮忙解答???? 解决方案 select case when phone1 is null then ( case when phone2 is null

sqlserver-两张无关联表 根据时间这么累计金额?求SQL语句或解决方案

问题描述 两张无关联表 根据时间这么累计金额?求SQL语句或解决方案 表A id datetime pay(收入表) 表B id Bdatetime pay(支出表) A: 1 2012-08-19 22.00 2 2012-09-23 32.00 3 2012-09-30 33.00 B: 1 2012-08-20 -11.00 2 2012-09-24 -20.00 输出: C:(id Cdatetime pay paycount) 1 2012-08-19 22.00 22.00 2 20

求SQL语句,将多个表合成一个表,每个表的结构不一样。要过滤重复的字段和行

问题描述 求SQL语句,将多个表合成一个表,每个表的结构不一样.要过滤重复的字段和行如:tb1(idintprimarykey,namevarchar(10),titlevarchar(10),)tb2(idint,namevarchar(10),titlevarchar(10),addressvarchar(10)foreignkey(id)referencestb1(id))tb3(idint,namevarchar(10),telvarchar(10),addressvarchar(10)

sql语句-求SQL语句:实现每隔10个数据取其中的最大值和最小值

问题描述 求SQL语句:实现每隔10个数据取其中的最大值和最小值 想实现如下功能:每隔10个(或者几个,可定义)数据取其中的最大值和最小值,实在搞不定.... 解决方案 给你提示,先用limit取出10个数据,在用 Max函数Min函数得到limit结果中的最大最小值,可以嵌套查询,也可以分开两次查询 解决方案二: select max(id) from table limit 0, 10 然后你limit中的值可以用变量来控制,这样就可以取任意范围. 解决方案三: 啥叫每隔10个,是不是就是乐

oracle sql语句 求sql语句

问题描述 oracle sql语句 求sql语句 数据源: 图片自动说明: 日期,投诉次数,分公司ID,分公司,投诉类别 环比:取查询日期的前一天,如:20150720,环比20150719 结果: 每万用户投诉比 每万用户投诉比环比增幅 个人投诉总次数 个人投诉环比增幅 集团投诉总次数 集团投诉环比增幅 解决方案 oracle sql语句优化Oracle用SQL语句分页 解决方案二: 分公司总用户数都没有,哪里来的每万用户投诉比? 解决方案三: 用decode吧,参考这个sql select

200分!!!求SQL语句求高手

问题描述 declare@isEmptyint;set@isEmpty=0;Selecttop10*fromGy_StyleClassLangwith(nolock)where(casewhen@isEmpty=1then(titleisnotnullandtitle<>'')when@isEmpty=2then(titleisnullortitle='')else1=1end)我的意图如上,当参数值不同时列的条件也不同,希望大牛帮助一下,能不用ifelse尽量不要用 解决方案 解决方案二:这

求sql语句 排序后返回第几位

问题描述 table aid name1 tom2 Jery3 Jack4 Maryselect id,name ,返回排序后的位数 from a order by name desc求返回排序后的 如 Mary 为第一位则返回 1 问题补充:GoTiger 写道 解决方案 SQLSERVER 我不清楚 基本没用过,应该是大同小异,记得是有个TOP函数的,不知道能不能满足需求,即时满足不了,你可以把排序的结果丢给程序来处理,在程序输出结果的时候定义一个变量,就可以了解决方案二:如果是oracle

求SQL语句

问题描述 student表中数据如图:求每个班级中年龄最小的学生的姓名 解决方案 select 班级,姓名 from student where 生日 in(select max(s.生日) from student s group by s.班级 )解决方案二:student(id ,name, birth,class)select a.name from stutdnet a, (select max(brith) birth , class from student group by cl