2017-05-09 19 views

回答

1
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")) 
} 

enter image description here

-1

有很多方法可以實現這一點。最簡單的方法是將結果存儲在變量中,然後從中選擇。 變種臨時= Query.make(entity.Policy)。選擇() temp.each(\ ELT - >打印(elt.PolicyNumber)

您也可以使用其它過濾器一樣比較,AtMostOneRow,FirstWhere

+0

我想你不明白我的問題。我需要的是以下SQL Query的導向代碼。 「從策略中選擇policy_number」。 你所描述的是獲得所有的價值,並採取所需的。那不是正確的方法。 Query.make(Entity).select()從所有列中挑選所有值,我不知道什麼。我只需要一個特定列的值。 AtmostOneRow,FirstWhere,First,Last這些是結果過濾器,並不會優化此需求的代碼 –

-1

你從來沒有提到你希望優化。 請嘗試下面的代碼。

變種臨時= Query.make(entity.Policy).compare( 「PolicyNumber」,等於 「123456」)。選擇()

您可以使用其他功能,如連接。請讓我知道,如果它的作品或我的理解是正確的!

+0

Brother, 您的代碼將執行的操作將返回「policy No」='12345'的結果。爲了更清楚一點,它返回策略與給定值一起與其他字段匹配的特定(或組)行。用於我們的代碼的SQL查詢就像「SELECT * FROM TABLENAME WHERE xxx = yyy」。但在我的要求中,我不會在SELECT查詢中出現那個'*'。我只想要「PolicyNo」字段。希望這是有道理的。在我的問題中,我清楚地提到了如何從表中「如何選擇特定列」 –

1

你可以請嘗試下面的代碼。

變種臨時= Query.make(entity.Claim)。選擇(\行 - > row.ClaimNumber)

仍不能確定它雖然。