当前位置: 代码迷 >> Sql Server >> 怎的改查询
  详细解决方案

怎的改查询

热度:93   发布时间:2016-04-24 09:22:52.0
怎样改查询?
前台报表要根据权限进行相应字段的显示,比如看销售毛利,只有领导才能看,其他人员都不能看。请问是不是用if else去判断?还是说分别做两张报表?
如果是加if判断的话,会不会影响查询效率?因为有一些报表目前已经有在用if语句了。
------解决思路----------------------
前台程序根据人员权限设置一下报表销售毛利字段的可见性,这样最简单。
------解决思路----------------------
你的报表的权限控制放SQL上控制?
权限控制应该放在程序上控制, 虽然不知道你报表怎么实现, 但是可以用IF来实现, 在程序员加这么一个判断,不会影响查询效率.
------解决思路----------------------
引用:
Quote: 引用:

前台程序根据人员权限设置一下报表销售毛利字段的可见性,这样最简单。

这个不太现实,因为现在做的报表是属于拓展性的报表。你说的那个是要找供应商修改代码的吧。

你意思这个是根据开发给的接口添加的报表?
------解决思路----------------------
那就做成两个不同的查询,人员无权限的查询销售毛利直接返回NULL。
根据人员权限分别调用不同的查询。
------解决思路----------------------
1、你前台在查询的时候,不同的人使用不同的查询语句,不是老板的就是少一个字段。

或者
2、如果你原来查询条件里面就包含人员ID什么的,那你可以使用CASE 语句把毛利润置空。

个人意见,仅供参考。
------解决思路----------------------
应该在程序上控制更方便呀
------解决思路----------------------
存储过程返回的数据集是大而全的,然后前台根据当前登陆系统的用户是领导还是员工决定显示那些列的数据
  相关解决方案