You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

布尔参数控制行显示异常求助:选False时仅展示零值而非全部数据

解决布尔参数控制数据展示的问题

看起来你的问题出在查询语句的WHERE条件逻辑上,咱们来拆解一下怎么调整:

问题根源

你当前的WHERE fa.Num_Adjudicados = @AnunciosAdjudicados条件,在参数为False时,只会筛选出Num_Adjudicados=0(未中标)的行,而不是你想要的所有行。虽然参数为True时能正常筛选非零值,但最好把这个逻辑明确写进条件里,保证严谨性。

修正后的查询语句

把WHERE子句改成下面这样,就能完全匹配你的需求:

SELECT 
    Adjudicado = IIF(fa.[Num_Adjudicados] = 1, 'Adjudicado', 'No Adjudicado'), 
    fa.Val_Persupuesto as [Valor Presupuesto] 
FROM [dbo].[F_Anuncio] fa 
WHERE 
    -- 当参数为True(已中标)时:筛选中标且预算非零的行
    (@AnunciosAdjudicados = 1 AND fa.Num_Adjudicados = 1 AND fa.Val_Persupuesto <> 0)
    -- 当参数为False时:不限制任何条件,展示所有行
    OR @AnunciosAdjudicados = 0

逻辑说明

  • 当@AnunciosAdjudicados=1(True):只会返回Num_Adjudicados=1且预算金额不等于0€的行,完全符合你的需求。
  • 当@AnunciosAdjudicados=0(False):OR条件直接生效,跳过前面的筛选规则,返回表中所有行——不管是否中标、预算是否为0。

这样调整后,就能解决你现在遇到的参数为False时仅显示零值行的问题啦。

内容的提问来源于stack exchange,提问作者nicoleor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:11:25