【问题标题】:How can I select aliased column in kotlin exposed如何在暴露的 kotlin 中选择别名列
【发布时间】:2020-05-08 03:13:13
【问题描述】:

如何按别名列选择分组? 我正在使用 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*/]
                    )
                }

    }

【问题讨论】:

    标签: kotlin kotlin-exposed


    【解决方案1】:

    您应该将别名存储在变量中,然后使用它从 ResultRow 中获取值:

    val version = SchemaVersionScheduleTable.version.max().alias("currentVersion")
    ...
    .map {
        SubscribeInfo(
            roleName = it[SchemaSubscribersTable.roleName],
            schemaName = it[SchemaSubscribersTable.schemaName],
            currentVersion = it[version]
        )
    }
    

    【讨论】:

      猜你喜欢
      • 2022-12-14
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-16
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多