SELECT
a.项目名称,
a.项目归属,
a.项目类型,
(select sum(报价含税金额) from U8C.JHWYZSK.dbo.v_jh_销售出库单查询 where 项目名称=a.项目名称) as U8出库总金额,
(select min(单据日期) from U8C.JHWYZSK.dbo.v_jh_销售出库单查询 where 项目名称=a.项目名称) AS U8出库最早日期,
(select max(单据日期) from U8C.JHWYZSK.dbo.v_jh_销售出库单查询 where 项目名称=a.项目名称) AS U8出库最晚日期
FROM
wm_ProjectList AS a
以上查询语句查询效率非常低,请问如何优化
子查询效率很低,用连接查询代码子查询。
可以给适当的字段建立索引,加快查询速度。
把表结构先贴出来,目前无法判断你a表各字段的唯一情况,你子查询里的那张表是不是唯一完全不用管,因为你反正都是聚合。
只要a表里的项目名称是唯一的就行了,但是,一般这玩意不就应该有个项目id的么?
而且,"v_jh_销售出库单查询"这个玩意看上去是一张视图啊,难道里面没有"项目名称"、"项目归属"、"项目类型"这三个字段么?
就算没有,也可以把这三个字段直接加进去啊,然后查的时候就不用关联a表来查了,直接一个聚合完事