如何选择按别名列分组?我正在使用kotlin-exposed。
fun getSubscribeInfoByRoleName(roleName: String): List<SubscribeInfo> {
return SchemaSubscribersTable.join(SchemaVersionScheduleTable, JoinType.INNER, null, null) {
SchemaSubscribersTable.schemaName eq SchemaVersionScheduleTable.schemaName }
.slice(SchemaSubscribersTable.roleName, SchemaSubscribersTable.schemaName, SchemaVersionScheduleTable.version.max().alias("currentVersion"))
.select { SchemaSubscribersTable.roleName.eq(roleName) and SchemaVersionScheduleTable.applyAt.less(CurrentDateTime()) }
.groupBy(SchemaSubscribersTable.roleName,SchemaSubscribersTable.schemaName)
.map {
SubscribeInfo(
roleName = it[SchemaSubscribersTable.roleName],
schemaName = it[SchemaSubscribersTable.schemaName],
currentVersion =it[/*How can I select currentVersion*/]
)
}
}发布于 2020-01-24 05:22:21
您应该将别名存储在一个变量中,然后使用它从ResultRow中获取一个值:
val version = SchemaVersionScheduleTable.version.max().alias("currentVersion")
...
.map {
SubscribeInfo(
roleName = it[SchemaSubscribersTable.roleName],
schemaName = it[SchemaSubscribersTable.schemaName],
currentVersion = it[version]
)
}https://stackoverflow.com/questions/59851605
复制相似问题