Używając narzędzia Slick 3.1, jak połączyć wiele zapytań w jedno zapytanie dla tego samego typu? Jest to nie łączenie lub związek, ale łączenie zapytania "segmenty" w celu utworzenia pojedynczego zapytania. Te "segmenty" mogą być dowolnymi indywidualnie ważnymi zapytaniami.łączenie gładkich zapytań w pojedyncze zapytanie
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: oczekiwany SQL powinno być coś takiego:
SELECT * FROM "SomeThingValid" WHERE "SomeThingValid"."value" > 10 AND "SomeThingValid"."valid" < 40 ORDER BY "MemberFeedItem"."date" DESC LIMIT 5
Nie jestem całkowicie pewien, czego oczekujesz w rezultacie. Chyba muszę zapytać: jak zrobiłbyś to w prostym SQL? –
@ PatrykĆwiek z przykładowym oczekiwanym sql – IUnknown