我正在处理复杂结构的数据库,更新后我们开始使用GORM,所以我需要使用GORM转换这个脚本。
query := `
SELECT * FROM foo
UNION ALL
SELECT * FROM bar WHERE id=1`
rows, err := db.Query(query)
做这件事最好的方法是什么?
发布于 2021-04-21 19:12:05
请注意,gorm
不直接支持UNION
,您需要使用db.Raw
来进行联合:
db.Raw("? UNION ?",
db.Select("*").Model(&Foo{}),
db.Select("*").Model(&Bar{}),
).Scan(&union)
上面的代码将会产生类似如下的结果:
SELECT * FROM "foos"
WHERE "foos"."deleted_at" IS NULL
UNION
SELECT * FROM "bars"
WHERE "bars"."deleted_at" IS NULL
https://stackoverflow.com/questions/67190972
复制相似问题