一个较为复杂的sql语句,高手请进!!!!!!!

bclzcl 2002-08-30 05:02:08
对客户信息实现权限控制,权限控制可以到个人也可以到组。条件是:或是当前用户在对开放的组中,或是他在对开放的用户中,两者满足一项就可,即:可对组实现权限控制也可细到个人实现权限控制!
sql语句:
其他查询条件 and [(客户记录表.客户记录编号=客户业务人员权限对照表.客户记录编号 and 客户业务人员权限对照表.业务员=当前业务员) or(客户记录表.客户记录编号=客户用户组权限对照表.客户记录编号 and 客户用户组权限对照表.组编号=业务人员和组表.组编号 and 业务人员和组表.业务员=当前业务员)] 即:
其他查询条件 and [(client.cid=candr.cid and candr.rid=dqywrid ) or (client.cid=candg.gid and candg.gid=group.gid and group.rid=dqywrid)]
可是执行时报有sql语法错误,单独[]中的每个小括号的条件和其他查询条件用and组合时都不报错,!!!!!是否是sql语句中不支持中括号!!!!!!!?????
谁能给就我这一方案给我一个正确的sql语句或给我一个合理的数据库设计架够实现上述功能的,我把我所有的分都给他(虽然不多)!!!!!谢谢
...全文
10 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xhfjy 2002-08-31
呵可中,晚了
回复
dejoy 2002-08-30
不能用中括号
(client.cid=candr.cid and candr.rid=dqywrid ) or (client.cid=candg.gid and candg.gid=group.gid and group.rid=dqywrid)
回复
Yang_ 2002-08-30
不支持中括号,用小括号
and ((client.cid=candr.cid and candr.rid=dqywrid ) or (client.cid=candg.gid and candg.gid=group.gid and group.rid=dqywrid))
回复
johnsonrao 2002-08-30
不能用中括号, 可以写成:

and ( ( (client.cid=candr.cid) and (candr.rid=dqywrid) )
or ( (client.cid=candg.gid) and (candg.gid=group.gid)
and (group.rid=dqywrid) ) )
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4895

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2002-08-30 05:02
社区公告
暂无公告