You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSRS报表下拉选所有仓库无数据,需创建SQL Case语句处理

解决SSRS报表「所有仓库」参数无数据的问题

你的问题出在WHERE子句里的C.Warehouse = @Warehouse条件——当选择「所有仓库」时,这个条件会强制要求仓库字段等于「所有仓库」这个字符串,而实际数据里没有这个仓库值,所以查不到数据。

不需要用CASE语句,直接用逻辑判断就能实现需求,修改后的查询语句如下:

SELECT C.FDWLotNo, C.ShipperCode, C.Warehouse, Sum(T.TonsQty) AS Total
FROM dbo.tblInventoryTransactions2 T INNER JOIN dbo.tblCustomerInventory C ON T.CustInvID = C.CustInvID
WHERE C.FINISHED='False'
  AND C.CustID = @Shipper
  AND (C.Warehouse = @Warehouse OR @Warehouse = '所有仓库') -- 修改这里
GROUP BY C.ShipperCode, C.FDWLotNo, C.Warehouse
ORDER BY C.ShipperCode

逻辑说明:

  • 当选择具体仓库时,@Warehouse是对应仓库值,C.Warehouse = @Warehouse生效,只返回该仓库的数据
  • 当选择所有仓库时,@Warehouse = '所有仓库'为真,整个OR条件成立,会跳过仓库匹配的限制,返回该托运人下所有仓库的数据

如果你的「所有仓库」参数值不是字符串'所有仓库'(比如用空值NULL),把条件改成AND (@Warehouse IS NULL OR C.Warehouse = @Warehouse)就行。

内容的提问来源于stack exchange,提问作者Boltz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:40:32