SSRS分页报表:通过商品参数筛选关联发票的全部商品
解决SSRS分页报表发票商品筛选需求
你需要返回包含指定商品的所有发票的全部商品记录,而非仅指定商品本身,可通过以下两种SQL查询方式实现:
方法一:子查询方式
SELECT InvoiceNumber, ItemCode FROM InvoiceItems WHERE InvoiceNumber IN ( -- 先筛选出包含目标商品的所有发票号 SELECT DISTINCT InvoiceNumber FROM InvoiceItems WHERE ItemCode = @ItemCode )
方法二:JOIN关联方式(性能更优,适合大数据量)
SELECT ii.InvoiceNumber, ii.ItemCode FROM InvoiceItems ii INNER JOIN ( -- 筛选出包含目标商品的发票号集合 SELECT DISTINCT InvoiceNumber FROM InvoiceItems WHERE ItemCode = @ItemCode ) filtered_invoices ON ii.InvoiceNumber = filtered_invoices.InvoiceNumber -- 若表中无重复商品记录,可删除下方的DISTINCT DISTINCT
说明
- 两种方式均先通过
@ItemCode定位所有关联发票号,再查询这些发票下的全部商品,完全匹配你的需求,无需提前获取发票包含的所有商品代码。 - 参数
@ItemCode的设置保持原有逻辑即可,无需调整参数取值来源。
内容的提问来源于stack exchange,提问作者Rahsk
相关产品推荐
相关产品推荐

