У меня проблемы с SQL, который отлично работает на моем локальном сервере, но возвращает нулевые значения при запуске на моем хостинге (godaddy).
Это код:
SELECT
a.id,
a.title,
GROUP_CONCAT( DISTINCT CAST( t.id AS CHAR( 50 ) ) , ':', t.name ORDER BY t.id SEPARATOR ',' ) AS 'tags',
GROUP_CONCAT( DISTINCT CAST( i.id AS CHAR( 50 ) ) , ':', i.fileName ORDER BY i.id SEPARATOR ',' ) AS 'images'
FROM
articles a
JOIN
article_tags ta ON a.id = ta.articleId
JOIN
images i ON a.id = i.articleId
JOIN
tags t ON ta.tagId = t.id
WHERE
a.id = :id
Он в основном собирает данные из таблицы статей и получает связанные теги и изображения из других таблиц.
Когда я запускаю его на своем локальном сервере, я получаю это:
┌-----┬------------------┬----------------┬------------------------┐
│ id │ title │ tags │ images |
├-----┼------------------┼----------------┼------------------------┤
│ 1 │ some article │ 1:php,2:jquery │ 1:pic.jpg, 2:other.jpg |
└-----┴------------------┴----------------┴------------------------┘
Вместо этого, когда я запускаю его на своем хостинге:
┌-----┬------------------┬----------------┬------------------------┐
│ id │ title │ tags │ images |
├-----┼------------------┼----------------┼------------------------┤
│ 1 │ some article │ NULL │ NULL |
└-----┴------------------┴----------------┴------------------------┘
Есть идеи о том, в чем здесь проблема?
заранее спасибо
По-видимому, это связано с версией MySQL (5.1 против 5.5).
Замена «СОЕДИНЕНИЙ» на «ЛЕВЫЕ СОЕДИНЕНИЯ» сделала свое дело.
Других решений пока нет …