package models import ( "eta/eta_index_lib/global" "fmt" "time" ) type CalculateResidualAnalysisConfigMapping struct { CalculateResidualAnalysisConfigMappingId int `orm:"column(calculate_residual_analysis_config_mapping_id);pk;auto" description:"自增id"` CalculateResidualAnalysisConfigId int `orm:"column(calculate_residual_analysis_config_id)" description:"残差分析配置id"` EdbInfoId int64 `orm:"column(edb_info_id)" description:"指标id"` ResidualType int `orm:"column(residual_type)" description:"残差类型: 1-映射残差 2-拟合残差"` IndexType int `orm:"column(index_type)" description:"指标类型:1-映射指标 2-残差指标 3-因变量指标 4-自变量指标"` CreateTime time.Time `orm:"column(create_time)" description:"创建时间"` ModifyTime time.Time `orm:"column(modify_time)" description:"修改时间"` } // GetConfigMappingListByConditionNotBase 查询非基础指标的配置映射 func GetConfigMappingListByConditionNotBase(edbInfoId int) (configMapping []CalculateResidualAnalysisConfigMapping, err error) { //sql := ` //SELECT // * //FROM // calculate_residual_analysis_config_mapping //WHERE // calculate_residual_analysis_config_id IN ( SELECT calculate_residual_analysis_config_id FROM calculate_residual_analysis_config_mapping WHERE edb_info_id = ? ) // // AND index_type != 3 // // AND index_type != 4` sql := ` SELECT * FROM calculate_residual_analysis_config_mapping m WHERE EXISTS ( SELECT 1 FROM calculate_residual_analysis_config_mapping subq WHERE subq.calculate_residual_analysis_config_id = m.calculate_residual_analysis_config_id AND subq.edb_info_id = ? AND subq.index_type != 3 AND subq.index_type != 4 )` err = global.DEFAULT_DB.Raw(sql, edbInfoId).Find(&configMapping).Error if err != nil { return nil, fmt.Errorf("查询数据时出错: %v", err) } return configMapping, nil }