Как выбрать отдельные столбцы с помощью Query.make()
В проводнике, Query.make(EntityName).select()
возвращает все значения столбца, как должен быть код, если мне нужен конкретный результат столбца.
Например, если мне просто нужно PolicyNumber , PublicID and ID
один из Policy
таблица, как мне написать код?
4 ответа
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 -> row.ClaimNumber)
Все еще не уверен в этом, хотя.
У меня был какой-то вопрос, и я нашел на него ответ. Это уже прокомментировано выше, и я согласен с ними, добавляя пропущенный код.
var temp=Query.make(entity.Claim).select( \ row -> {return { row.ClaimNumber} as String[]})
for(row in temp){
print("Claim Number = " + row[0])
}
где \ - лямбда.
Я протестировал это, и он работает нормально.
Вы никогда не упоминали, что хотите оптимизировать. Пожалуйста, попробуйте следующий код.
var temp = Query.make (entity.Policy).compare ("PolicyNumber", равно, "123456").select()
Вы можете использовать другие функции, такие как Joins. Пожалуйста, дайте мне знать, если это работает или мое понимание верно!
Это просто,
Uses GW.api.database.Query
Var d=Query.make(PolicyPeriod).select()
For ( a in d){
Print ( d.PolicyNumber +" = " + d.ID +" = " + `d.PublicID)`
}
Есть много подходов, с помощью которых мы можем достичь этого. Самый простой способ - сохранить результат в переменной, а затем выбрать ее. var temp=Query.make(entity.Policy).select() temp.each( \ elt -> print(elt.PolicyNumber)
Вы также можете использовать другие фильтры, такие как Compare,AtMostOneRow,FirstWhere