我在论坛中搜索但找不到帖子来帮助我,所以这里就是
我正在尝试根据两个潜在案例提取一列数据,但是我无法让查询正常工作,我的>一直出现语法错误操作者:
OnHandQty = CASE
WHEN job_order_view.job_numb like '5%' THEN isnull(q.ONHAND_QTY,1) > '0'
WHEN job_order_view.job_numb like '1%' THEN isnull(q.ONHAND_QTY,1) > '-1'
ELSE '-'
END
答案 0 :(得分:0)
为了达到预期的结果,我不得不将条件包含在IIf()函数中。
SELECT CASE WHEN 1=1 THEN IIf(1 > 1, 1, 0) END
http://sqlfiddle.com/#!6/d41d8/12334
上面使用它可行。如果我只离开1 > 1
,我会收到相同的错误消息。
编辑:请注意,这是一个独立的示例,用于说明如何实现此目的。您应该能够非常轻松地使其适应您的代码。
答案 1 :(得分:0)
基于你所说的(我仍然不确定它是否有意义),我会做类似的事情:
isnull(q.ONHAND_QTY,1)> CASE
WHEN (job_order_view.job_numb like '5%') then ('0')
WHEN (job_order_view.job_numb like '1%') THEN ('-1')
ELSE '-' --What is this part supposed to do?
END
答案 2 :(得分:0)
尝试类似
的内容OnHandQty = CASE
WHEN job_order_view.job_numb like '5%' AND isnull(q.ONHAND_QTY,1) > '0' THEN isnull(q.ONHAND_QTY,1)
WHEN job_order_view.job_numb like '1%' AND isnull(q.ONHAND_QTY,1) > '-1' THEN isnull(q.ONHAND_QTY,1)
ELSE '-'
END