首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server -删除WHERE子句删除结果集

SQL Server -删除WHERE子句删除结果集
EN

Stack Overflow用户
提问于 2016-05-12 21:43:59
回答 1查看 61关注 0票数 0

我对这个查询有一个奇怪的问题。当我按原样运行时,我会得到一个结果集,但是,当我以任何方式更改WHERE子句,甚至删除它时,它会完全消除我的整个结果集。有什么想法可以解释为什么会这样吗?这是在一个旧的,糟糕的供应商平台上,不幸的是,我不能有管理员访问,所以我能做的就是运行报告,而且是有限的。

代码语言:javascript
复制
SELECT 
    (CASE WHEN SUBSTRING(VO.AR090_REFERENCE, 1, 1) = 'X' THEN 'CLUB' WHEN LEFT(RIGHT(VO.AR090_REFERENCE, 5), 2) = 'IP' THEN 'IP' ELSE 'CAMP' END ) AS TYPE, 
    CONVERT(NVARCHAR, VO.AR090_ISS_DATE, 101) AS SETUP, 
    VO.AR090_DESC AS FUNDER, 
    VO.AR090_REFERENCE AS VOUCH_NUM, 
    CHECKSUM(VO.AR090_REFERENCE) AS VOUCH_PARM, 
    CONVERT( NVARCHAR, VO.AR090_UPD_STAMP, 101 ) AS MODIFIED, 
    VO.AR090_AMT AS AMT, 
    VO.AR090_AMT_APPLIED AS USED, 
    VO.AR090_AMT - VO.AR090_AMT_APPLIED AS REMAIN 

FROM AR090_VOUCHER VO  
    LEFT OUTER JOIN AR020_TRANSACTIONS AR2 ON VO.AR090_ORG_CODE = AR2.AR020_ORG_CODE AND VO.AR090_REFERENCE = AR2.AR020_CC_CHECK AND AR2.AR020_TRANS_TYPE = 'VCH' 
    LEFT OUTER JOIN ER100_ACCT_ORDER AO ON AO.ER100_ORG_CODE = AR2.AR020_ORG_CODE AND AO.ER100_ORD_NBR = AR2.AR020_ORD_NBR 

WHERE 
    (VO.AR090_AMT - VO.AR090_AMT_APPLIED) > 0 

GROUP BY 
    VO.AR090_ISS_DATE,  
    VO.AR090_REFERENCE, 
    VO.AR090_AMT, 
    VO.AR090_AMT_APPLIED, 
    CONVERT( NVARCHAR, VO.AR090_UPD_STAMP, 101 ), 
    AR2.AR020_TRANS_TYPE, 
    AR2.AR020_CC_CHECK ,
    VO.AR090_DESC

ORDER BY 
    (CASE WHEN SUBSTRING( VO.AR090_REFERENCE, 1, 1 ) = 'X' THEN 'CLUB' WHEN LEFT(RIGHT(VO.AR090_REFERENCE, 5 ), 2) = 'IP' THEN 'IP' ELSE 'CAMP' END ) DESC, 
    SUBSTRING( VO.AR090_DESC, 13, LEN(VO.AR090_DESC) - 12 )
EN

回答 1

Stack Overflow用户

发布于 2016-05-12 21:47:59

不是的。我没有看到(适当地)删除where子句会导致数据减少的情况。要么这是一个bug (这将是一个非常罕见的bug,或者是一个完全没有维护的系统),要么你显然不会删除where子句(通过逻辑推理)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37188798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档