问题很简单——我相信答案也可能很简单。
系统是 SQL Server 2008 R2。
有一个带有sp_WHYWHYWHY
3 个参数的存储过程 - 2 个是日期,一个是供应商代码。
语句中的WHERE
子句如下所示:
OrderDate BETWEEN @StartDate AND @EndDate
AND SupplierCode = @SupplierCode
业务流程已经改变 - 一如既往。所以现在在供应商代码中只有一个供应商(比如说YY
)现在在业务方面与另一个供应商(假设ABC
)保持一致。
因此,代码在查询时也需要说明ABC
- 包括YY
。
就像是
OrderDate BETWEEN @StartDate AND @EndDate
AND SupplierCode = CASE WHEN @SupplierCode = 'ABC' THEN 'YY','ABC' ELSE @SupplierCode END
我知道你不能这样写——但这正是最终结果应该是的。
我该怎么做,真的吗?
感谢您抽出时间阅读和回答。