我一直在研究一个问题,我正在尝试根据以下数据构建报告
这就是我最初的做法。
#1快速通过并快速撤回数据
#2与此相同
#3和#4是我的瓶颈发生的地方,因为对于每个脚本,我需要撤回该特定药物的交易清单并计算每丸的价格。然后计算可能的错失收入是基于pp(计算)和错误的脚本的数量。
我正在使用实体框架,脚本实体和过去交易的实体。我现在知道瓶颈在哪里,但我不知道如何绕过它。
我是否将视图和过去的事务工作放在一个调用中,或者是否有办法在.NET代码中执行此操作,而不必每个脚本一次遍历所有内容。
欢迎任何建议。
答案 0 :(得分:0)
如果没有表格结构,有点难以回答,但我认为使用存储过程是一种方法,而不是视图,或使用EF进行迭代。
1.回滚指定日期范围的列表
使用存储过程中的WHERE子句
执行此操作2.从#1
中返回的记录中获取不同提供者的列表在查询中使用DISTINCT运算符
3.遍历每个提供程序并获取提供程序编写的脚本列表。
使用JOIN加入此数据
4.计算错过的收入,但查看过去的交易以及脚本上的药物和数量。
这可以使用SP
中的派生表或子选择来完成如果您可以发送带有几个示例行的表格,我可以为您构建SP。