一个较为复杂的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语句或给我一个合理的数据库设计架够实现上述功能的,我把我所有的分都给他(虽然不多)!!!!!谢谢
...全文
34 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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) ) )

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧