fix apps/bookmarks if oc_bookmarks_tags is empty

If you have bookmarks, but there are no tags in oc_bookmarks_tags, the
query doesn't return any results. Using a left join fixes this.

Reference:
http://stackoverflow.com/questions/3171276/select-multiple-tables-when-one-table-is-empty-in-mysql

Signed-off-by: Florian Pritz <bluewind@xinu.at>
This commit is contained in:
Florian Pritz 2011-09-23 12:39:38 +02:00
parent ff10303755
commit 934b18405a
1 changed files with 2 additions and 1 deletions

View File

@ -70,7 +70,8 @@ $query = OC_DB::prepare('
ELSE \' \'
END
AS tags
FROM *PREFIX*bookmarks, *PREFIX*bookmarks_tags
FROM *PREFIX*bookmarks
LEFT JOIN *PREFIX*bookmarks_tags ON 1=1
WHERE (*PREFIX*bookmarks.id = *PREFIX*bookmarks_tags.bookmark_id
OR *PREFIX*bookmarks.id NOT IN (
SELECT *PREFIX*bookmarks_tags.bookmark_id FROM *PREFIX*bookmarks_tags