如何将表添加到 from 子句?
How do I add tables to the from clause?
我遇到这样一种情况,我的 from 子句中需要多个 table,但没有字段可以连接两个 table,因此我不需要连接。基本上,我希望我的 SQL 查询看起来像这样:
SELECT
cg.id, cg.effective_date
FROM
"user" u, community_guidelines cg
WHERE
u.id = 1 AND
u.guidelines_accepted_date < cg.effective_date
我试图让它在代码中工作,但没有任何运气。有没有办法在我的查询的 from 子句中显式添加 table?
CommunityGuidelinesTable
.select { (UserTable.id eq userId) and
(UserTable.guidelinesAcceptedDate less CommunityGuidelinesTable.effectiveDate) }
.orderBy(CommunityGuidelinesTable.effectiveDate to SortOrder.DESC)
.mapNotNull {
it.toCommunityGuidelines()
}
.firstOrNull()
好的,我想我明白了。完全不是我所期待的。
CommunityGuidelinesTable
.join(UserTable, JoinType.INNER, additionalConstraint = { UserTable.id eq userId })
.slice(CommunityGuidelinesTable.id, CommunityGuidelinesTable.effectiveDate, CommunityGuidelinesTable.guidelinesText)
.select {
(UserTable.guidelinesAcceptedDate less CommunityGuidelinesTable.effectiveDate) }
.orderBy(CommunityGuidelinesTable.effectiveDate to SortOrder.DESC)
.mapNotNull {
it.toCommunityGuidelines()
}
.firstOrNull()
我从这个博客得到灵感posthttps://blog.jdriven.com/2019/07/kotlin-exposed-a-lightweight-sql-library/
我遇到这样一种情况,我的 from 子句中需要多个 table,但没有字段可以连接两个 table,因此我不需要连接。基本上,我希望我的 SQL 查询看起来像这样:
SELECT
cg.id, cg.effective_date
FROM
"user" u, community_guidelines cg
WHERE
u.id = 1 AND
u.guidelines_accepted_date < cg.effective_date
我试图让它在代码中工作,但没有任何运气。有没有办法在我的查询的 from 子句中显式添加 table?
CommunityGuidelinesTable
.select { (UserTable.id eq userId) and
(UserTable.guidelinesAcceptedDate less CommunityGuidelinesTable.effectiveDate) }
.orderBy(CommunityGuidelinesTable.effectiveDate to SortOrder.DESC)
.mapNotNull {
it.toCommunityGuidelines()
}
.firstOrNull()
好的,我想我明白了。完全不是我所期待的。
CommunityGuidelinesTable
.join(UserTable, JoinType.INNER, additionalConstraint = { UserTable.id eq userId })
.slice(CommunityGuidelinesTable.id, CommunityGuidelinesTable.effectiveDate, CommunityGuidelinesTable.guidelinesText)
.select {
(UserTable.guidelinesAcceptedDate less CommunityGuidelinesTable.effectiveDate) }
.orderBy(CommunityGuidelinesTable.effectiveDate to SortOrder.DESC)
.mapNotNull {
it.toCommunityGuidelines()
}
.firstOrNull()
我从这个博客得到灵感posthttps://blog.jdriven.com/2019/07/kotlin-exposed-a-lightweight-sql-library/