我有一个存储过程,其中我根据条件选择了10个cols。没有什么奇特的只是SELECT col 1 - 10 WHERE date is between x and y
。其中一个选定的列包含一个位开关。我希望能够检查该位切换,并且如果它根据一些数学给一个列赋值,或者根据一些替代数学赋值。在select语句中计算
SELECT col1...col10
FROM table a
WHERE getDate is BETWEEN x AND y
IF col5 = 1 THEN
col10 = quantity - quantitysold
ELSE
col10 = quantity - SUM(quantitysold, yearlyonhand)
是基本思路。我试图如此离开这个标志?它似乎是一个足够简单的概念,我只是不知道如何使它工作。
我的另一个想法是,可能会创建一个udf来处理计算,并在sproc内部调用该函数(如果位开关为1),如果不是,则为另一个函数。尽管这似乎是一个相对简单的概念工作量异常。
接受上一个问题的回答! – 2012-03-16 19:57:46
我很抱歉我认为我这样做了。我已经回去并在适用的情况下完成此项工作。 – SSISPissesMeOff 2012-03-16 20:02:00