2

I'm trying to make a distinct in a leftJoin, but the .distinct() seems not work for my context.

I have this query:

const questions = Database
                                .query()
                                .select('book_unit_question.*')
                                .select('book_unit.unit')
                                .select('book_unit.sequence')
                                .select('books.id as book_id')
                                .select('book_unit_question_option.description as correct_answer_description_id')
                                .select('users.username')
                                .from('book_unit_question')
                                .leftJoin('book_unit_question_option', 'book_unit_question.id', 'book_unit_question_option.book_unit_question_id')
                                .distinct('book_unit_question.id')
                                .innerJoin('book_unit', 'book_unit.id', 'book_unit_question.book_unit_id')
                                .innerJoin('books', 'books.id', 'book_unit.book_id')
                                .innerJoin('users', 'book_unit_question.user_id', 'users.id')
                                .where('books.id', '=', request.params.id)

But when i get my results, i have repetead book_unit_question.id :

0: {id: 11, book_unit_id: 2, question_form: "Texto", option_form: "Texto",…}
1: {id: 11, book_unit_id: 2, question_form: "Texto", option_form: "Texto",…}
2: {id: 11, book_unit_id: 2, question_form: "Texto", option_form: "Texto",…}
3: {id: 12, book_unit_id: 2, question_form: "Texto", option_form: "Texto", type_answer: "Aberta",…}

I need only:

0: {id: 11, book_unit_id: 2, question_form: "Texto", option_form: "Texto",…}
1: {id: 12, book_unit_id: 2, question_form: "Texto", option_form: "Texto", type_answer: "Aberta",…}
bla
  • 667
  • 4
  • 19

0 Answers0