سؤال

لدي مشكلة مع التعامل مع الاستعلام دب السليم في بلدي التطبيق وإلى أن نكون صادقين أنا لا أعرف ما يجب أن أفعل أكثر من ذلك لجعلها تعمل.

بلدي ديسيبل يشبه هذا

BooksTable
-_id
-title
-author

RentsBookTable
-_id
-userId
-bookId
-date

UsersTable
-_id
-name

GenresTable
-_id
-name

BooksGenresTable
-bookId
-genreId

كل شيء من بلدي ديسيبل أريد أن عرض داخل ListView.

أنا آخذ كل شيء مع هذا البند:

BooksTable 
LEFT OUTER JOIN RentsBookTable ON(RentsBookTable.bookId=BooksTable._id)   
LEFT OUTER JOIN UsersTable ON(RentsBookTable._id=UsersTable._id) 
LEFT OUTER JOIN BooksGenresTable ON(BooksGenreTable.bookId=BooksTable._id) 
LEFT OUTER JOIN GenresTable ON(GenresTable._id=BooksGenresTable.genreId)

أريد كل عنوان عرض صف من الكتاب ، واسم المستخدم الذي استأجر ذلك والأنواع مفصولة بفاصلة.

كل شيء ما عدا الجزء الأخير - تسلسل وفصل مع فاصلة من الأنواع أقوم به الآن بشكل صحيح مع شرط عرض.الآن يتم تكرار الكتب التي تحتوي على المزيد من الأنواع.لقد كنت أحاول

"GROUP_CONCAT(" + GebresTable.name + ",', ') AS " + "genresConcat"

للأسف أنا غير قادر على تحقيق هدفي.مع هذا التسلسل أنا دائما الحصول على سجل واحد فقط مع جميع الأنواع متسلسلة وعرضها.

يمكن للشخص من فضلك قل لي كيف يمكنني تحقيق هدفي.

هل كانت مفيدة؟

المحلول

جرب هذا ، لإظهار الأنواع المختلفة فقط:

GROUP_CONCAT(DISTINCT genre) AS genre

سوف تحتاج أيضا إلى مجموعة هذا النوع مع GROUP BY بعد حيث شرط لإظهار كافة السجلات التي تطابق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top