注册

"引用列不存在"报错

hh 2023/04/04 1153 3

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:win11
【CPU】:amd 锐龙5800h
【问题描述】*:有一个比较长的sql,报“引用列不存在”错误,复制该sql到mysql上发现它可以执行,但在达梦8就报了这个错,尝试了其他答案的方法还是没解决该问题。

SELECT   a.create_time createtime ,
         a.id ,
         a.shelf_status shelfstatus ,
         a.land_group_id landgroupid ,
         wm_concat(sc.crop_name) plantingcropstr ,
         a.land_acre_unit landacreunit ,
         a.land_type_id landtypeid ,
         wm_concat(plan.crop_id) cropids ,
         a.farm_id farmid ,
         a.gis_land_type_id gislandtypeid ,
         g.name landgroupname ,
         (case
    WHEN a.land_acre_unit=2 THEN
    round(a.land_acre/10,3)
    WHEN a.land_acre_unit=3 THEN
    round(a.land_acre/666.67,3)
    ELSE a.land_acre end) landacreformu , a.land_type_name landtypename , a.company_id companyid , a.create_by createby , a.land_name landname , a.sh_gis_dkid shgisdkid , a.land_status landstatus , a.update_by updateby , a.land_free_days landfreedays , a.create_mode createmode , a.update_time updatetime , t.gis_land_type_name
FROM tbl_land a
LEFT JOIN tbl_land_group g
    ON a.land_group_id = g.id
LEFT JOIN 
    (SELECT p.crop_id ,
         p.land_id
    FROM tbl_plant_plan_agri p
    WHERE p.plant_status != 3
            AND date_format( now( ), '%y-%m-%d' ) >= date_format( p.plant_start_date, '%y-%m-%d' )
            AND p.farm_id = 23
    UNION
    all SELECT p.crop_id ,
         p.land_id
    FROM tbl_plant_plan_forestry p
    WHERE p.plant_status != 3
            AND date_format( now( ), '%y-%m-%d' ) >= date_format( p.plant_start_date, '%y-%m-%d' )
            AND p.farm_id = 23
    UNION
    all SELECT p.crop_id ,
         p.land_id
    FROM tbl_plant_plan_animal p
    WHERE p.plant_status != 3
            AND date_format( now( ), '%y-%m-%d' ) >= date_format( p.plant_start_date, '%y-%m-%d' )
            AND p.farm_id = 32
    UNION
    all SELECT p.crop_id ,
         p.land_id
    FROM tbl_plant_plan_fishery p
    WHERE p.plant_status != 3
            AND date_format( now( ), '%y-%m-%d' ) >= date_format( p.plant_start_date, '%y-%m-%d' )
            AND p.farm_id = 23 ) plan
    ON a.id = plan.land_id
LEFT JOIN sys_crop sc
    ON plan.crop_id = sc.id
LEFT JOIN sys_crop_category ct
    ON sc.crop_category_id = ct .id
LEFT JOIN tbl_gis_land_type t
    ON a.gis_land_type_id = t.id
WHERE a.shelf_status = 0
        AND a.farm_id = 23
        AND a.land_group_id = 23
        AND a.land_name LIKE concat('%', 23, '%')
        AND a.land_status = 23
        AND a.land_type_id = 23
        AND a.gis_land_type_id =23
GROUP BY  a.id
HAVING find_in_set(23,cropids)
ORDER BY  a.id DESC  
回答 0
暂无回答
扫一扫
联系客服