我有这个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值返回一行数据。我想只返回RTCO值的行" 00099" for" Region427"和" Region632"。有人可以帮我修改我的sql语句来实现这个
答案 0 :(得分:1)
AND ( (rtco = '00001' AND RELID!="Region427")
OR (rtco = '00099' AND RELID="Region427"))
我相信你所追求的目标。
泰德。
答案 1 :(得分:0)
您可以在select语句中使用MAX(rtco)而不是rtco,但它可能不会使此行的relid和rtcrcd具有最大值rtco