当前位置: 代码迷 >> Oracle管理 >> 求帮忙优化优化话语
  详细解决方案

求帮忙优化优化话语

热度:108   发布时间:2016-04-24 04:10:01.0
求帮忙优化优化语句。
SELECT KK.WORD
  FROM KEYWORD KK
 WHERE EXISTS (SELECT KC.KID
          FROM CLASS CC, KEYWORD_CLASS KC
         WHERE CC.CID = KC.CID
           AND KC.KID = KK.KID
           AND CC.NAME IN ('门户网站'))
   AND EXISTS (SELECT KC.KID
          FROM CLASS CC, KEYWORD_CLASS KC
         WHERE CC.CID = KC.CID
           AND KC.KID = KK.KID
           AND CC.NAME IN ('搜索引擎'))
   AND NOT EXISTS (SELECT KC.KID
          FROM CLASS CC, KEYWORD_CLASS KC
         WHERE CC.CID = KC.CID
           AND KC.KID = KK.KID
           AND CC.CID NOT IN (SELECT CID FROM CLASS WHERE CC.NAME IN ('门户网站', '搜索引擎'));

------解决思路----------------------
SELECT KK.WORD
  FROM KEYWORD KK
 WHERE EXISTS (SELECT KC.KID
          FROM CLASS CC, KEYWORD_CLASS KC
         WHERE CC.CID = KC.CID
           AND KC.KID = KK.KID
group by kc.kid
having sum(decode(cc.name,'门户网站',0,'搜索引擎',0,1))=0
and sum(decode(cc.name,'门户网站',1,'搜索引擎',1,0))=2
)
  相关解决方案