Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLite Concat和记录连接_Android_Sqlite_Android Sqlite - Fatal编程技术网

Android SQLite Concat和记录连接

Android SQLite Concat和记录连接,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我的应用程序中的数据库查询处理有问题,老实说,我不知道我应该做些什么才能让它正常工作 我的数据库看起来像这样 BooksTable -_id -title -author RentsBookTable -_id -userId -bookId -date UsersTable -_id -name GenresTable -_id -name BooksGenresTable -bookId -genreId 我想在列表视图中显示的数据库中的所有内容 我接受这一条款的所有内容: Boo

我的应用程序中的数据库查询处理有问题,老实说,我不知道我应该做些什么才能让它正常工作

我的数据库看起来像这样

BooksTable
-_id
-title
-author

RentsBookTable
-_id
-userId
-bookId
-date

UsersTable
-_id
-name

GenresTable
-_id
-name

BooksGenresTable
-bookId
-genreId
我想在
列表视图中显示的数据库中的所有内容

我接受这一条款的所有内容:

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)
我希望每一行显示书籍的标题、租用者的用户名以及以逗号分隔的流派

除了最后一部分,我现在用displayed子句正确地用逗号连接和分隔所有类型。现在有更多类型的书被复制。我一直在努力

"GROUP_CONCAT(" + GebresTable.name + ",', ') AS " + "genresConcat"
不幸的是,我无法实现我的目标。有了这个concat,我总是只能得到一张唱片,所有的类型都连接在一起并显示出来


有人能告诉我如何实现我的目标吗。

试试这个,只展示不同的风格:

GROUP_CONCAT(DISTINCT genre) AS genre

您还需要在where子句后使用
group BY
对体裁进行分组,以显示所有匹配的记录。

Ok,现在它已正确合并,但只显示一条记录,即添加的最后一条记录。所以我的concat与前面的差不多。你使用了“groupby”吗?我想它应该是
groupby BooksGenreTable。bookId
我使用了sugested group by,但没有一个工作正常。结果是一样的。它应该会起作用,也许如果你发布完整的
SELECT
语句,我们可以看到发生了什么。