Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
Delphi 7 Enterprise
|
Re: SQL-Abfragen zusammenfassen
6. Jul 2006, 19:10
Hallo Matze,
vielleicht so...
SQL-Code:
SELECT 'get blog entry' typ, 1 sort, b.*, bd.*
FROM BLOG_ENTRIES b
LEFT JOIN BLOG_ENTRIES_DATA bd
ON b.blog_id = bd.blog_id
WHERE b.lang = sqlval($site_lang['lang_short'])
AND b.blog_id = sqlval($id)
AND bd.blog_show = 1
UNION
SELECT 'previous entry' typ, 2 sort, b.*, bd.*
FROM BLOG_ENTRIES b
LEFT JOIN BLOG_ENTRIES_DATA bd
ON b.blog_id = bd.blog_id
LEFT JOIN BLOG_CATEGORIES_DATA bcd
ON bd.blog_cat_id = bcd.blog_cat_id
WHERE b.lang = sqlval($site_lang['lang_short'])
AND bcd.blog_cat_show = 1
AND bd.blog_id = (SELECT MAX(bd.blog_id)
FROM BLOG_ENTRIES b
LEFT JOIN BLOG_ENTRIES_DATA bd
ON b.blog_id = bd.blog_id
LEFT JOIN BLOG_CATEGORIES_DATA bcd
ON bd.blog_cat_id = bcd.blog_cat_id
WHERE b.lang = sqlval($site_lang['lang_short'])
AND bcd.blog_cat_show = 1
AND blog_id < $id)
UNION
SELECT 'next entry' typ, 3 sort, b.*, bd.*
FROM BLOG_ENTRIES b
LEFT JOIN BLOG_ENTRIES_DATA bd
ON b.blog_id = bd.blog_id
LEFT JOIN BLOG_CATEGORIES_DATA bcd
ON bd.blog_cat_id = bcd.blog_cat_id
WHERE b.lang = sqlval($site_lang['lang_short'])
AND bcd.blog_cat_show = 1
AND bd.blog_id = (SELECT MIN(bd.blog_id)
FROM BLOG_ENTRIES b
LEFT JOIN BLOG_ENTRIES_DATA bd
ON b.blog_id = bd.blog_id
LEFT JOIN BLOG_CATEGORIES_DATA bcd
ON bd.blog_cat_id = bcd.blog_cat_id
WHERE b.lang = sqlval($site_lang['lang_short'])
AND bcd.blog_cat_show = 1
AND blog_id > $id)
UNION
SELECT 'get blog_category' typ, 4 sort, b.*, bd.*
FROM BLOG_ENTRIES b
LEFT JOIN BLOG_ENTRIES_DATA bd
ON b.blog_id = bd.blog_id
LEFT JOIN BLOG_CATEGORIES_DATA bcd
ON bd.blog_cat_id = bcd.blog_cat_id
WHERE b.lang = sqlval($site_lang['lang_short'])
AND bd.blog_cat_show = 1
AND b.blog_cat_id = sqlval($blog_entry['blog_cat_id'])
ORDER BY sort ASC, bd.blog_cat_id DESC
Gruss
Thorsten
|
|
Zitat
|