如何在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

如何选择“按别名列分组”? 我正在使用kotlin暴露

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]
    )
}