SQL Query Optimization: Finding Daily Generation Data for Photovoltaic and Wind Power Sites
There seems to be a syntax error in the query. The WHERE clause is missing a closing parenthesis after t.rpt_dd = \'2023-08-01\'). Additionally, there is a missing ON keyword before the join condition on getDeptName(ss.site_area) = b.areaName. \n\nHere's the corrected query:\n\nSELECT \nb., b1., getDeptName(ss.site_area) AS site_area_name\nFROM sys_site ss \nLEFT JOIN (\n\tSELECT \n\tt1.rpt_dd as rptDd,\n\ts.site_type as siteType,\n\tgetDeptName(s.site_area) AS areaName,\n\tROUND(SUM(t1.act_gena),2) AS gf_mm_act_gena\n\tFROM sys_site s\n\tRIGHT JOIN (\n\t SELECT\n\t t.dept_id AS dept_id,\n\t t.rpt_mm AS rpt_mm,\n\t t.rpt_yy AS rpt_yy,\n\t t.rpt_dd AS rpt_dd,\n\t t.dept_area as dept_area,\n\t t.act_gena,\n\t t.site_type\n\t FROM\n\t rpt_site_act_day t \n\t WHERE t.rpt_dd = '2023-08-01'\n\t) t1 ON s.dept_id = t1.dept_id \n\tWHERE s.site_type = '光伏' \n\tGROUP BY s.site_area, s.site_type\n) b ON getDeptName(ss.site_area) = b.areaName\nLEFT JOIN (\n\tSELECT \n\tt1.rpt_dd,\n\ts.site_type,\n\tgetDeptName(s.site_area) AS area_name2,\n\tROUND(SUM(t1.act_gena),2) AS fd_mm_act_gena\n\tFROM sys_site s\n\tRIGHT JOIN (\n\t SELECT\n\t t.dept_id AS dept_id,\n\t t.rpt_mm AS rpt_mm,\n\t t.rpt_yy AS rpt_yy,\n\t t.rpt_dd AS rpt_dd,\n\t t.dept_area as dept_area,\n\t t.act_gena,\n\t t.site_type\n\t FROM\n\t rpt_site_act_day t \n\t WHERE t.rpt_dd = '2023-08-08-01'\n\t) t1 ON s.dept_id = t1.dept_id \n\tWHERE s.site_type ='风电'\n\tGROUP BY s.site_area, s.site_type\n) b1 ON b.areaName = b1.area_name2\nGROUP BY ss.site_area
原文地址: https://www.cveoy.top/t/topic/p9bg 著作权归作者所有。请勿转载和采集!