2016-09-01 3 views
0

Ich möchte das Ergebnis der ersten Abfrage in zweite Abfrage einfügen, ich muss wissen, wie Sie Werte in Cassandra Query Language einfügen. Bitte erleuchten Sie mich.Zum multi Einfügen in cql für scala

def daomethod(seconditemtable:SecondItemTable):java.util.List[Row]={ 

    val query=session.execute("select item from itemtable").all()  //first query 

    val queryvalue=query.map(x=>x.getString("item")).toList.distinct //List(item1,item2,item3) 


    val secondquery="select * from seconditemtable where entity=? and item=? and date>=? and date<=?" //second query 

    val statement=session.prepare(secondquery) 

    val boundstatement= new Boundstatement(statement) 

    session.execute(boundstatement.bind(seconditemtable.entity,queryvalue,seconditemtable.date,seconditemtable.date)).all()  //how to insert multiple value of firstquery in item column 
} 

Vielen Dank im Voraus

Antwort

0

können Sie versuchen, dass so etwas wie

val secondquery=s"select * from seconditemtable where entity=? and item in (${queryvalue.mkString(",")}) and date>=? and date<=?" 

Vorteil cql in Anweisung zu nehmen. Mehr Details über sie https://docs.datastax.com/en/cql/3.3/cql/cql_reference/select_r.html

+0

hallo, ist es nicht Liste Werte akzeptiert, muss es Einzelwert, und mkstring puts ‚‘ zwischen allen Zeichen ... dank sowieso – ASCIWD

+0

'select * from seconditemtable übergeben werden, wo Element in (item1, item2) 'ist eine gültige cql-Anfrage, aber Sie müssen Zitate um 'item1' setzen, wenn es sich um eine Zeichenkette handelt. Tut mir leid, wenn es nicht nützlich ist. – Niakrais

+0

danke es hat funktioniert – ASCIWD