如何优化查询,提高速度

买买提子 2015-11-03 09:55:43
SELECT ywy,sl AS '数量',yhrq,MONTH(yhrq) AS '月份',CONCAT(spdm,spmc,scgg,bzgg) AS dmmc FROM
(SELECT
ywy,
yhrq,
bb.yhbh
pk_corp,
sl,
spdm,
spmc,
scgg,
bzgg
FROM
(SELECT
ywy,
yhrq,
yhbh,
pk_corp,
sl,
spdm,
spmc,
scgg,
bzgg
FROM
cr_demandplan
WHERE RecDR = 0)bb
INNER JOIN
(SELECT
yhbh,
pk_corp
FROM
cr_demandplan
WHERE RecAs3 = '通过'
GROUP BY CONCAT(yhbh,pk_corp))aa
ON CONCAT(bb.yhbh, bb.pk_corp) = CONCAT(aa.yhbh, aa.pk_corp))cc
WHERE ywy ='小明' AND CONCAT(spdm,spmc,scgg,bzgg) = '0000000047胶囊0.5g30粒/300盒' AND yhrq BETWEEN '2014-01-01' AND '2014-12-31'

...全文
197 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
买买提子 2015-11-03
  • 打赏
  • 举报
回复
SELECT ywy,sl AS '数量',yhrq,MONTH(yhrq) AS '月份',CONCAT(spdm,spmc,scgg,bzgg) AS dmmc FROM (SELECT ywy,yhrq,bb.yhbh,pk_corp,sl,spdm,spmc,scgg,bzgg FROM (SELECT ywy,yhrq,yhbh,pk_corp,sl,spdm,spmc,scgg,bzgg FROM cr_demandplan WHERE RecDR = 0)bb INNER JOIN (SELECT yhbh,pk_corp FROM cr_demandplan WHERE RecAs3 = '通过' GROUP BY CONCAT(yhbh,pk_corp))aa ON CONCAT(bb.yhbh, bb.pk_corp) = CONCAT(aa.yhbh, aa.pk_corp))cc WHERE ywy ='小明' AND CONCAT(spdm,spmc,scgg,bzgg) = '0000000047胶囊0.5g30粒/300盒' AND yhrq BETWEEN '2014-01-01' AND '2014-12-31'
LongRui888 2015-11-03
  • 打赏
  • 举报
回复
能否格式化一下sql,然后说一下你写的这个代码是什么意思,这样方便大家帮你简化代码和优化
买买提子 2015-11-03
  • 打赏
  • 举报
回复
(1)表cr_demandplan 里面有一个字段RecAS3,有通过、不通过和空值三种数据,当RecAS3为通过或不通过时RecDR=2,当RecAS3为空值时RecDR=0; (2)RecDR用来表示这一条数据是为审核数据还是详细数据,RecDR=2时该条数据为审核数据,RecDR=0时该条数据为详细数据; (3)每一条数据都有编号,这个编号由yhbh和pk_corp两个字段的值决定; (4)每条通过的审核数据,根据其编号有对应的一条或以上的详细数据; (5)鉴于可能有重复通过的审核数据,我用了group by CONCAT(yhbh,pk_corp)将审核数据按编号分组,那么每条通过的审核数据就唯一; (6)只有审核通过的详细数据才有用; (7) (SELECT ywy,yhrq,yhbh,pk_corp,sl,spdm,spmc,scgg,bzgg FROM cr_demandplan WHERE RecDR = 0)bb INNER JOIN (SELECT yhbh,pk_corp FROM cr_demandplan WHERE RecAs3 = '通过' GROUP BY CONCAT(yhbh,pk_corp))aa ON CONCAT(bb.yhbh, bb.pk_corp) = CONCAT(aa.yhbh, aa.pk_corp))cc 的意思是将审核通过了的详细数据查询出来; (8)ywy是业务员,每个编号对应唯一一个业务员,每个业务员可以有多个编号;

56,890

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧