то можно разбить запрос на отдельные фрагменты
постепенно добавляя новые условия:
--------------------
Правильно:
SELECT jos_content.title, jos_sections.title, jos_categories.title, jos_users.name
FROM jos_content, jos_sections, jos_categories, jos_users
WHERE jos_sections.published =1 AND jos_categories.published =1
LIMIT 1
---------------------
Правильно:
SELECT jos_content.title, jos_sections.title, jos_categories.title, jos_users.name,
CASE WHEN CHAR_LENGTH( jos_content.alias )
THEN CONCAT_WS(':', jos_content.id, jos_content.alias )
ELSE jos_content.id
ENDAS slug
FROM jos_content, jos_sections, jos_categories, jos_users
WHERE jos_sections.published =1
AND jos_categories.published =1
LIMIT 1
---------------------
Правильно:
SELECT jos_content.title, jos_sections.title, jos_categories.title, jos_users.name,
CASE WHEN CHAR_LENGTH( jos_content.alias )
THEN CONCAT_WS(':', jos_content.id, jos_content.alias )
ELSE jos_content.id
END AS slug,
CASE WHEN CHAR_LENGTH( jos_categories.alias )
THEN CONCAT_WS(':', jos_categories.id, jos_categories.alias )
ELSE jos_categories.id
END AS catslug
FROM jos_content, jos_sections, jos_categories, jos_users
WHERE jos_sections.published =1
AND jos_categories.published =1
LIMIT 5
title title title name slug catslug
Пример новости 1 Новости Последние новости Administrator 2:newsflash-1 1:latest-news
Пример новости 1 FAQ Последние новости Administrator 2:newsflash-1 1:latest-news
Пример новости 1 Информация о Joomla! Последние новости Administrator 2:newsflash-1 1:latest-news
Пример новости 1 Joomla Статьи 01 Последние новости Administrator 2:newsflash-1 1:latest-news
Пример новости 1 PHP Статьи 01 Последние новости Administrator 2:newsflash-1 1:latest-news
Правильно:
SELECT jos_content.title, jos_sections.title, jos_categories.title, jos_users.name,
CASE WHEN CHAR_LENGTH( jos_content.alias )
THEN CONCAT_WS(':', jos_content.id, jos_content.alias )
ELSE jos_content.id
END AS slug,
CASE WHEN CHAR_LENGTH( jos_categories.alias )
THEN CONCAT_WS(':', jos_categories.id, jos_categories.alias )
ELSE jos_categories.id
END AS catslug
FROM jos_content
LEFT JOIN jos_users ON jos_users.id = jos_content.created_by
INNER JOIN jos_categories ON jos_categories.id = jos_content.catid
INNER JOIN jos_sections ON jos_sections.id = jos_content.sectionid
WHERE jos_sections.published =1
AND jos_categories.published =1
LIMIT 5
Результат:
title | title | title | name | slug | catslug |
Пример новости 1 | Новости | Краткие новости | Administrator | 2:newsflash-1 | 3:newsflash |
Пример новости 2 | Новости | Краткие новости | Administrator | 3:newsflash-2 | 3:newsflash |
Пример новости 3 | Новости | Краткие новости | Administrator | 4:newsflash-3 | 3:newsflash |
Пример новости 5 | Новости | Краткие новости | Administrator | 41:newsflash-5 | 3:newsflash |
Пример новости 4 | Новости | Краткие новости | Administrator | 42:newsflash-4 | 3:newsflash |