我的原始查询是SELECT at."category" AS "category", at."month" AS "month", sum(at.price_aft_discount) as "sum", sum(at.qty_ordered) as "sum2" FROM all_trans at GROUP BY at."category", at."month" ORDER BY at."category" ASC, at."month" asc在 DBeaver 中执行上述查询时,总和列给出警告:sum: numeric(131089,0) (Read-only: No corresponding table column)。给出了相同的警告sum2我使用 Gorm 在 Go 中查询保存结果的代码是:type ATQueryResult struct { category string `gorm:"column:category"` month string `gorm:"column:month"` sum float32 `gorm:"column:sum"` sum2 float32 `gorm:"column:sum2"`}queryString := ... // same as abovevar result []ATQueryResultdb.Table(model.TableAllTrans).Raw(queryString).Find(&result)fmt.Println(result[3])但问题是,所有result[i].sum和result[i].sum2是0-zero。在 DBeaver 上实时查询时,我可以看到实际的总和数(全部非零),尽管有上述警告。但是当我尝试将查询结果扫描到 时result,所有的总和值为 0。
1 回答

呼唤远方
TA贡献1856条经验 获得超11个赞
必须为 gorm(或它在引擎盖下利用的任何东西)导出这些字段才能填充它们。尝试使用:
type ATQueryResult struct { Category string `gorm:"column:category"` Month string `gorm:"column:month"` Sum float32 `gorm:"column:sum"` Sum2 float32 `gorm:"column:sum2"`}
- 1 回答
- 0 关注
- 409 浏览
添加回答
举报
0/150
提交
取消