开发者社区> 问答> 正文

在MS Reporting Services中执行动态子查询的最佳方法?

我是SQL Server Reporting Services的新手,并且想知道执行以下操作的最佳方法:

查询以获取流行ID列表 对每个项目进行子查询以从另一个表获取属性 理想情况下,最终报告列应如下所示:

[ID] [property1] [property2] [SELECT COUNT(*)
                              FROM AnotherTable 
                              WHERE ForeignID=ID]

也许可以构建一个大型SQL查询来一次性完成所有操作,但我更希望将其分隔开。是否推荐编写一种VB函数以对每一行执行子查询的方法?谢谢你的帮助。

展开
收起
心有灵_夕 2019-12-25 21:32:15 816 0
1 条回答
写回答
取消 提交回答
  • 根据您希望输出的外观,可以执行子报表,也可以对ID,property1,property2进行分组,然后将其他表中的项显示为明细项(假设您希望显示的不仅仅是计数)。

    就像是

    select t1.ID, t1.property1, t1.property2, t2.somecol, t2.someothercol
    from table t1 left join anothertable t2 on t1.ID = t2.ID
    
    

    @Carlton Jenke我想在您给出的示例中,您会发现外部联接的性能要优于相关子查询。请记住,需要为每一行运行子查询。

    2019-12-25 21:32:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多