У меня есть запрос quill DYNAMI C, который является JOIN между несколькими таблицами. Теперь я хочу отсортировать запрос по нескольким столбцам по количеству полученных входов. Сортировка в каждом столбце может быть возрастающей или убывающей. Также столбцы имеют разные типы данных. Я просматривал документацию и получил следующее
val q3 = quote {
query[Person].sortBy(p => (p.name, p.age))(Ord(Ord.asc, Ord.desc))
}
ctx.run(q3)
// SELECT p.id, p.name, p.age FROM Person p ORDER BY p.name ASC, p.age DESC
Однако это на двух столбцах и является c. Есть ли в Quill утилита для динамической сортировки c ?? Мои столбцы и порядок сортировки принимаются в виде списка [(String, String)]. заранее спасибо.
Я пробовал что-то вроде этого
query.sortBy(_.column1)(Ord.asc).sortBy(_.column2)(Ord.desc)
column1 и column2 из разных таблиц, однако это не удается во время выполнения, так как я получаю
:"java.lang.IllegalStateException: The monad composition can't be expressed using applicative joins. Faulty expression
Есть ли способ решить эту проблему и сделать многостолбцовую сортировку?