繁体   English   中英

用于排除某些数据行的SQL语句

[英]SQL statement to exclude certain rows of data

我有这个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语句来实现这一点

AND ( (rtco = '00001' AND RELID!="Region427")
          OR (rtco = '00099' AND RELID="Region427")) 

我相信你是追求的。

特德。

您可以在select语句中使用MAX(rtco)而不是rtco,但它可能不会使此行的relid和rtcrcd具有最大值rtco

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM