如何在kotlin中选择别名列
如何选择“按别名列分组”? 我正在使用kotlin暴露如何在kotlin中选择别名列,kotlin,kotlin-exposed,Kotlin,Kotlin Exposed,如何选择“按别名列分组”? 我正在使用kotlin暴露 fun getSubscribeInfoByRoleName(roleName: String): List<SubscribeInfo> { return SchemaSubscribersTable.join(SchemaVersionScheduleTable, JoinType.INNER, null, null) { SchemaSubscribersTable.schemaNa
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*/]
)
}
}
fun getsubscribebeinfobyrolename(roleName:String):列表{
返回SchemaSubscriberTable.join(SchemaVersionScheduleTable,JoinType.INNER,null,null){
SchemaSubscriberTable.schemaName eq SchemaVersionScheduleTable.schemaName}
.slice(schemaSubscriberTable.roleName、schemaSubscriberTable.schemaName、schemaversationscheduletable.version.max().alias(“当前版本”))
.选择{schemaSubscriberTable.roleName.eq(roleName)和schemaversationscheduletable.applyAt.less(CurrentDateTime())}
.groupBy(SchemaSubscriberTable.roleName,SchemaSubscriberTable.schemaName)
.地图{
订阅信息(
roleName=it[SchemaSubscriberTable.roleName],
schemaName=it[schemaSubscriberTable.schemaName],
currentVersion=it[/*如何选择currentVersion*/]
)
}
}
您应该将别名存储在变量中,然后使用它从ResultRow中获取值:
val version = SchemaVersionScheduleTable.version.max().alias("currentVersion")
...
.map {
SubscribeInfo(
roleName = it[SchemaSubscribersTable.roleName],
schemaName = it[SchemaSubscribersTable.schemaName],
currentVersion = it[version]
)
}