作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想知道如何使用 gorm 在 FROM 子句中使用子查询。它看起来像下面这样:
SELECT * FROM
(
SELECT foo.*
FROM foo
WHERE bar = "baz"
) AS t1
WHERE t1.id = 1;
我已经使用 golang 构建了子查询:
db.Model(Foo{}).Where("bar = ?", "baz")
但是我如何将其用作 FROM
中的子查询?
如果有一种方法可以将 gorm 查询转换为 SQL 字符串,那么我只需将该字符串插入原始 SQL。但是好像没有这样的方法。有什么建议吗?
最佳答案
你也可以在子查询上加入
subQuery := db.
Select("foo.*").
Table("foo").
Where("bar = ?", "baz").
SubQuery()
db.
Select("t1.*").
Join("INNER JOIN ? AS t1 ON t1.id = foo.id", subQuery).
Where("t1.id = ?", 1)
关于go - 在 gorm 中使用 'FROM' 中的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46807891/
我是一名优秀的程序员,十分优秀!