SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.05.2010 20:28:38

alexei
Участник
Зарегистрирован: 18.05.2010
Сообщений: 5

join и order by

Есть запрос:

SELECT `id`, `title`, `code`,`price`
FROM (`cmf_objects`)
JOIN `cmf_object_goods` ON `cmf_object_goods`.`oid` = `cmf_objects`.`id`
WHERE `class_code` = 'goods'
AND `parent_id` IN ('3431')
AND `is_active` = 1
ORDER BY `cmf_object_goods`.`title` ASC

Что необходимо сделать, что бы была правильная сортировка?

Неактивен

 

#2 19.05.2010 11:32:07

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: join и order by

Смотря что называть правильной сортировкой smile

Если сортировка по `cmf_object_goods`.`title` не правильная, то просто напишите
правильную smile

Неактивен

 

#3 19.05.2010 12:06:59

alexei
Участник
Зарегистрирован: 18.05.2010
Сообщений: 5

Re: join и order by

paulus написал:

Смотря что называть правильной сортировкой smile

Если сортировка по `cmf_object_goods`.`title` не правильная, то просто напишите
правильную smile

Мне надо что бы сортировало по `cmf_object_goods`.`title` в алфавитном порядке, однако результат отдает не тот какой я хочу.

Неактивен

 

#4 19.05.2010 12:24:45

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: join и order by

А пример вывода можно? smile

Неактивен

 

#5 19.05.2010 12:26:53

alexei
Участник
Зарегистрирован: 18.05.2010
Сообщений: 5

Re: join и order by

paulus написал:

А пример вывода можно? smile

id     title     code     price
2788    Наушники Defender HN-869    /2788/    12
3421    Наушники Defender MPH-235/236    /goods/3421/    8.33
2987    Наушники Defender HN-101    /2987/    3
3422    Наушники Defender MPH-215    /goods/3422/    3.33
3423    Наушники Defender MPH-328    /goods/3423/    6.33

Отредактированно alexei (19.05.2010 12:27:22)

Неактивен

 

#6 19.05.2010 12:29:07

alexei
Участник
Зарегистрирован: 18.05.2010
Сообщений: 5

Re: join и order by

Еще explain на всякий случай:

id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra
1    SIMPLE    cmf_object_goods    ALL    NULL    NULL    NULL    NULL    605    Using filesort
1    SIMPLE    cmf_objects    eq_ref    PRIMARY    PRIMARY    4    db.cmf_object_goods.oid    1    Using where

Отредактированно alexei (19.05.2010 12:29:27)

Неактивен

 

#7 19.05.2010 13:02:19

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: join и order by

Хм. А title — это BLOB? Где-то я натыкался на подобную проблему, и замена
на VARCHAR ее решила.

Неактивен

 

#8 19.05.2010 13:12:56

alexei
Участник
Зарегистрирован: 18.05.2010
Сообщений: 5

Re: join и order by

paulus написал:

Хм. А title — это BLOB? Где-то я натыкался на подобную проблему, и замена
на VARCHAR ее решила.

Как раз таки title — это VARCHAR.

Неактивен

 

#9 19.05.2010 13:19:00

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: join и order by

Ммм. Тогда убедитесь, что:

1. Колонка в нормальной кодировке.
2. Нормальная кодировка у клиента.
3. В самих данных все буквы (и пробелы) забиты одинаково. Т.е. буква e и буква е —
это разные буквы (если смущает, дам подсказку: первая латинская).

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson