【问题标题】:SQL statement to exclude certain rows of data排除某些数据行的 SQL 语句
【发布时间】:2018-02-24 23:24:23
【问题描述】:

我有这个 SQL 查询:

SELECT DISTINCT viewid, 
            relid, 
            Sum(kaiprddta.f0315le.rtaap *. 01)  AS OPEN, 
            Sum(kaiprddta.f0315le.rtcurr *. 01) AS CURRENT1, 
            Sum(kaiprddta.f0315le.rtftr *. 01)  AS FUTURE, 
            Sum(kaiprddta.f0315le.rtag1 *. 01)  AS AGE1, 
            Sum(kaiprddta.f0315le.rtag2 *. 01)  AS AGE2, 
            Sum(kaiprddta.f0315le.rtag3 *. 01)  AS AGE3, 
            rtcrcd, 
            Sum(kaiprddta.f0315le.rtag4 *. 01)  AS AGE4, 
            Sum(kaiprddta.f0315le.rtag5 *. 01)  AS AGE5, 
            Sum(kaiprddta.f0315le.rtag6 *. 01)  AS AGE6, 
            Sum(kaiprddta.f0315le.rtag7 *. 01)  AS AGE7, 
            rtco 
FROM   kaiprddta.f0315le, 
   kaiprddta.f55311 
WHERE  ( kaiprddta.f0315le.rtac06 = terr ) 
   AND ( viewid = 'Company' ) 
   AND ( rtco = '00001' 
          OR rtco = '00099' ) 
GROUP  BY viewid, 
      relid, 
      rtcrcd, 
      rtco 
ORDER  BY viewid, 
      relid, 
      rtcrcd 

这就是它现在的样子(我还不允许嵌入图像,所以如果有人可以编辑它并嵌入它,那就太棒了):

有两个 RELID 值“Region427”和“Region632”,它们都有 2 个 RTCO 值“00001”和“00099”。所有其他数据行都有一个 RTCO 值“00001”。 sql 每个 RTCO 值返回一行数据。我只想为“Region427”和“Region632”返回 RTCO 值“00099”的行。有人可以帮我修改我的sql语句来实现这个

【问题讨论】:

  • 对于两个 RelID,您希望将 RTCO 00001 和 00099 相加,还是只想完全排除 RTCO 00001?
  • 完全排除“00001”,但仅适用于 Region427 和 Region632。我刚刚添加了一张数据是什么样子的图片

标签: mysql sql asp.net vb.net


【解决方案1】:
AND ( (rtco = '00001' AND RELID!="Region427")
          OR (rtco = '00099' AND RELID="Region427")) 

我相信这就是你所追求的。

泰德。

【讨论】:

  • 这并没有去掉 Region427 的 '00001' 行数据
  • @KMurray 尝试 代替
  • 是的!非常感谢,我一直在努力做到这一点!
【解决方案2】:

你可以在你的select语句中使用MAX(rtco)代替rtco,但它可能不会带来该行的relid和rtcrcd具有最大值rtco

【讨论】:

  • 我无法在此查询中使用最大值或最小值,因为除了 '00001' 和 '00099' 之外还有其他值
  • 但是 where 条件只会返回 '00001' 和 '00099' 的值,然后 MAX 会选择最大值
  • 每个 RTCO 值都有不同的数据行,这就是为什么我试图在 RELID = 'REGION427' 和 RTCO = '00001' 和 RELID = 'REGION632' 和 RTCO 时排除数据= '00001'
猜你喜欢
  • 2013-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-10
  • 2019-01-27
相关资源
最近更新 更多