Mit Slick 3.1, wie kombiniere ich mehrere Abfragen in einer einzigen Abfrage für den gleichen Typ? Dies ist kein Join oder eine Union, aber Abfrage "Segmente" zu kombinieren, um eine einzelne Abfrageanforderung zu erstellen. Diese "Segmente" können jede individuell gültige Anfrage sein.Slick-Abfragen in einzelne Abfrage kombinieren
val query = TableQuery[SomeThingValid]
// build up pieces of the query in various parts of the application logic
val q1 = query.filter(_.value > 10)
val q2 = query.filter(_.value < 40)
val q3 = query.sortBy(_.date.desc)
val q4 = query.take(5)
// how to combine these into a single query ?
val finalQ = ??? q1 q2 q3 q4 ???
// in order to run in a single request
val result = DB.connection.run(finalQ.result)
EDIT: die erwartete SQL etwas sein sollte:
SELECT * FROM "SomeThingValid" WHERE "SomeThingValid"."value" > 10 AND "SomeThingValid"."valid" < 40 ORDER BY "MemberFeedItem"."date" DESC LIMIT 5
Ich bin mir nicht ganz sicher, was Sie als Ergebnis erwarten. Ich denke, ich muss fragen: Wie würdest du das in SQL machen? –
@ PatrykĆwiek mit Beispiel erwartet sql aktualisiert – IUnknown