【发布时间】:2012-03-16 19:55:21
【问题描述】:
我有一个存储过程,我根据条件选择 10 个列。 SELECT col 1 - 10 WHERE date is between x and y 没什么特别的。选定的列之一包含一个位开关。我希望能够检查那个位开关,如果它的 1 基于一些数学将一个值分配给一个列,那么它会根据一些替代数学分配。
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,如果位开关为 1,则从 sproc 内部调用该函数,如果不是,则调用备用函数。不过,对于一个相对简单的概念来说,这似乎是一项异常大量的工作。
【问题讨论】:
-
接受您之前提出的问题的答案!
-
我很抱歉,我以为我这样做了。我已经回去并在适用的情况下这样做了。
标签: sql stored-procedures select