问题很简单 - 我相信答案也可能很简单。有条件的WHERE子句
系统是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
我知道你也写不了这样的 - 不过这只是最后的结果应该是什么。
我该怎么做,真的吗?
感谢您抽出时间阅读&的答案。
你有一个表,你跟踪supplierCodes的引用该对齐? –