小编Sil*_*vio的帖子

JetBrains 公开了在切片中添加带有值的自定义字段/列

我想在使用值进行复杂连接时添加自定义字段\n基本上是这样的:

\n
SELECT p.first_name, "Smith" AS "last_name" \nFROM person p\nWHERE first_name = "John"\n
Run Code Online (Sandbox Code Playgroud)\n

在 kotlin 中,会是这样的:

\n
PersonTable\n  .slice(PersonTable.first_name, "" HERE IS WHERE I\xe2\x80\x99D LIKE TO PUT SOMETHING "")\n  .select(PersonTable.first_name eq "John")\n
Run Code Online (Sandbox Code Playgroud)\n

此示例中的任何表中都不存在字段“last_name”。我想将它添加到 ResultRow 中。

\n

我真正的查询要复杂得多,但我无法公开共享它。\n基本上我想要的是将 last_name 列添加到我将从查询中得到的值为“Smith”的每个 ResultRow。然后是稍后访问该列的方法。

\n

这可以在 JetBrains Exposed 中完成吗?

\n

这是我尝试过但不成功的方法:

\n
PersonTable\n  .slice(PersonTable.first_name, stringLiteral("Smith").alias("last_name"))\n  .select(PersonTable.first_name eq "John")\n
Run Code Online (Sandbox Code Playgroud)\n

上面的内容并没有按照我想要的方式工作。它确实添加了一个值为“Smith”的列,但列名称/别名是“Smith”last_name,而不仅仅是last_name。这不起作用的原因是我将与另一个选择进行联合,该选择将具有不同的 last_name 值,因此我需要这两个选择中的列名称相同。

\n

kotlin kotlin-exposed

6
推荐指数
1
解决办法
1569
查看次数

标签 统计

kotlin ×1

kotlin-exposed ×1