如何使用 Query.make() 单独 select 特定列

How to select specific columns alone using Query.make()

在 guidewire 中,Query.make(EntityName).select() returns 整个列值,如果我需要列特定结果,代码应该如何。

例如,如果我只需要 Policy table 中的 PolicyNumber , PublicID and ID,我应该如何编写代码?

您从未提到要优化。 请尝试以下代码。

var temp=Query.make(entity.Policy).compare("PolicyNumber" , 等于, "123456").select()

您可以使用其他功能,例如联接。如果有效或我的理解正确,请告诉我!

你能试试下面的代码吗?

var temp=Query.make(entity.Claim).select(\row -> row.ClaimNumber)

不过还是不太确定。

var op = Query.make(PolicyPeriod).select({
    QuerySelectColumns.pathWithAlias("PolicyNumber", Paths.make(PolicyPeriod#PolicyNumber)),
    QuerySelectColumns.pathWithAlias("OfferNumber", Paths.make(PolicyPeriod#OfferNumber)),
    QuerySelectColumns.pathWithAlias("Id", Paths.make(PolicyPeriod#ID))
})

foreach(o in op){
  print(" Policy No : "+o.getColumn("PolicyNumber") +" | Offer No : "+o.getColumn("OfferNumber")+" | ID : "+o.getColumn("Id"))
}

我有一些问题,我找到了答案。 上面已经评论过了,我同意他们的看法,添加遗漏的代码。

var temp=Query.make(entity.Claim).select( \ row -> {return { row.ClaimNumber} as String[]})
for(row in temp){
print("Claim Number = " + row[0])
}

其中 \ 是 lambda。

我已经测试过了,它工作正常。

很简单,

Uses GW.api.database.Query
Var d=Query.make(PolicyPeriod).select()
For ( a in d){
Print ( d.PolicyNumber +" = " + d.ID +" = " + `d.PublicID)`
}