Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
63 views
in Technique[技术] by (71.8m points)

How to write and in one Compare in GOSU

I have a query below and need to combine the 2nd and 3rd .compare condition with 'AND' operator

var query = ii.join(InvoiceItem#PolicyPeriod)
        .compare(PolicyPeriod#Plan, Relop.NotEquals, xyzPlan)
        .compareIn(PolicyPeriod#ProdType, {Prod.TC_FREE, Prod.TC_UNIQ})
        .compareIn(PolicyPeriod#Elig,{OffElig.TC_Yes})

Second compareIn statement should be like below in SQL but do not know how to combine two variables in one compare with AND operator.

if ( prodtype in ('FREE','UNIQ') and Elig = 'YES')

Any Advice!!
question from:https://stackoverflow.com/questions/65910823/how-to-write-and-in-one-compare-in-gosu

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use .and() method from the QueryAPI:

var query = ii.join(InvoiceItem#PolicyPeriod)
    .compare(PolicyPeriod#Plan, Relop.NotEquals, xyzPlan)
    .and(and1 -> {
        and1.compareIn(PolicyPeriod#ProdType, {Prod.TC_FREE, Prod.TC_UNIQ})
        and1.compareIn(PolicyPeriod#Elig, {OffElig.TC_Yes})
    })

In the same manner, you can use .or() method or even combine and() and or() in one statement.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...