例子:
SELECT *
FROM (
SELECT *
FROM (
SELECT c. * , r. *
FROM RIGHT_TEST AS c
LEFT JOIN authorize_table AS r ON r.TABLE_NO =1
AND c.TABLE_ID = r.TABLE_REC_ID
and(( $$_PUB_IN_RIGHT_TYPE <=-10 and $$_PUC_DEPART_TYPE = 2 and $$_PUC_DEPART_ID1 = 1 )
OR ( $$_PUB_out_RIGHT_TYPE <=-10 and $$_PUC_DEPART_TYPE = 2 and $$_PUC_DEPART_ID1 != 1 )
)
ORDER BY r.PRI DESC
) AS z
GROUP BY z.TABLE_ID
ORDER BY z.TABLE_ID ASC
) AS s
where
($$_PUB_IN_RIGHT_TYPE >0 and $$_PUC_DEPART_TYPE = 2 and $$_PUC_DEPART_ID1 = 1) or
($$_PUB_OUT_RIGHT_TYPE >0 and $$_PUC_DEPART_TYPE = 2 and $$_PUC_DEPART_ID1 != 1) or
( $$_PUB_IN_RIGHT_TYPE<=-10 and PEOPLE_SET_TYPE = 2 and PEOPLE_SET_ID1 = 1 and REC_RIGHT_TYPE > 0) or
( $$_PUB_IN_RIGHT_TYPE<=-11 and PEOPLE_SET_TYPE is null)如果,使用case 该怎么优化.
解决方案 »
- 请教把多个查询参数整合进一句SQL语句的思路或者方法~~~~~~~~~
- 在线等待,求解:Access denied for user 'root'@'localhost' (using password: YES)
- 查看本机的sql数据库中的表的内容
- mysql 数据迁移问题,所有的.frm文件报错·
- 一个服务器系统,安装时输入数据库用户名密码,以后如果用户更改了密码应该怎么做?
- binary与not的优先级,哪一个高?
- mysql 中,如何把datetime字段,改成 date 字段,用什么函数?
- 请问我这个存储过程会自动回滚吗?还有怎么捕捉错误信息呢?
- 同时为多个表新增相同字段
- mysql死锁求助
- you have an error in your sql syntax;check the manual
- 求助MySQL查询
表A:
张三 李四 王五
1 1 1 表编号
1 2 3 享受表表ID
1 1 1 记录表ID
2 2 2 赐予人员类型ID
1 1 1 人员集ID
1 0 0 权限方式ID
3 4 5 优先级表B数据:
张三 李四 王五 名称
2 2 2 所用人类型
19 18 20 岁数
1 1 1所用ID
1 0 1内权限方式类型
0 1 1公开方位类型
2 2 2公开范围
1 1 1公开范围01
比如, 我想查看当前用户张三的记录并且产看他的记录的优先级等。 还要进行判断当前张三是内权限还是外权限 和他的公开ID 是都一致否则会过滤掉为NULL。
所以,我使用了。大部分的
内部权限 公共的级别ID 公共人员_ID =1
($$_PUB_IN_RIGHT_TYPE >0 and $$_PUC_DEPART_TYPE = 2 and $$_PUC_DEPART_ID1 = 1) or
外部权限
($$_PUB_OUT_RIGHT_TYPE >0 and $$_PUC_DEPART_TYPE = 2 and $$_PUC_DEPART_ID1 != 1) or
所用人员ID 集合ID=1
( $$_PUB_IN_RIGHT_TYPE <=-10 and PEOPLE_SET_TYPE = 2 and PEOPLE_SET_ID1 = 1 and
权限方式字
REC_RIGHT_TYPE > 0) or
( $$_PUB_IN_RIGHT_TYPE <=-11 and PEOPLE_SET_TYPE is null) 如果,高手们看明白就试试吧!
还有,我的SQL执行的效率太慢了!
如果,使用存储工程或者优化应该怎么写。高手指教
http://www.javaeye.com/topic/383962
这个不错