SQL с concats и Joins нормально работает в MySQL 5.1, но возвращает NULL на 5.5

У меня проблемы с 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                   |
└-----┴------------------┴----------------┴------------------------┘

Есть идеи о том, в чем здесь проблема?
заранее спасибо

0

Решение

По-видимому, это связано с версией MySQL (5.1 против 5.5).

Замена «СОЕДИНЕНИЙ» на «ЛЕВЫЕ СОЕДИНЕНИЯ» сделала свое дело.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector