PDA

Показать полную графическую версию : MySQL SELECT DISTINCT в 5.7


LaFleur
02-07-2018, 12:33
Добрый день.
Есть MySQL 5.1.73 база bareos. Запрос по её таблицам:
SELECT DISTINCT
CONVERT(Client.Name USING utf8) as Client,
CONVERT(FileSet.FileSet USING utf8) as FileSet,
CONVERT(Storage.Name USING utf8) AS Storage,
CONVERT(Media.VolumeName USING utf8) AS Files,
Media.LabelDate,
Job.JobId as JobId,
DATE_FORMAT(Media.LabelDate,"%d.%m.%Y") AS Date
FROM Client,Job,JobMedia,Media,FileSet,Storage
WHERE Client.Name="test"
AND Client.ClientId=Job.ClientId
AND Job.Type="B"
AND Job.JobStatus="T"
AND Job.FileSetId=FileSet.FileSetId
AND JobMedia.JobId=Job.JobId
AND JobMedia.MediaId=Media.MediaId
AND Media.StorageId=Storage.StorageId
ORDER BY Media.LabelDate DESC;
Прекрасно работает. Но с такой же базой в версии 5.7.22 наблюдаются трудности при таком запросе. Он ничего не выводит. Что-то не так для этой версии в SELECT DISTINCT. Таблицы в порядке и всё соответствует запросу, но к сожалению нету результата. Можете помочь поправить запрос для более новой версии MySQL?

Iska
02-07-2018, 12:49
LaFleur, правильно ли я понимаю, что без DISTINCT есть дублирование записей, а с DISTINCT нет совсем ничего — возвращается 0 записей, так?

LaFleur
02-07-2018, 13:07
Iska, C DISTINCT или без него 0 записей. А вот на старой версии без DISTINCT 0 записей, а с ним всё ок.
В новой версии если убрать AND Client.ClientId = Job.ClientId то формируется таблица но неправильно заполнены ячейки.

Iska
02-07-2018, 13:40
А вот на старой версии без DISTINCT 0 записей, а с ним всё ок. »
Что-о-о-о?!!

LaFleur
02-07-2018, 14:26
Iska, Пардон. на старой версии без DISTINCT дублированные записи.
А вот с новой походу совсем не работает.

Iska
02-07-2018, 15:00
LaFleur, база одна и та же? Не было ли какого-нибудь конвертирования при переходе с версии на версию? Типы данных полей:
Client.ClientId … Job.ClientId »
идентичны, размеры полей равновели́́ки?

P.S. Это гадания на кофейной гуще, я совсем не специалист по MySQL.




© OSzone.net 2001-2012