Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Базы данных » MySQL » Разница в запросах MySql под Win & *nix
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
Exclamation Разница в запросах MySql под Win & *nix [сообщение #74846]

Есть такой запрос:

code:

(SELECT `razdeli`.`id`, `razdeli`.`razdel_name`, COUNT(`soiskateli`.`soiskatel_id`) AS `kol_vo` FROM `razdeli` INNER JOIN `dolgnosti` ON (`razdeli`.`id` = `dolgnosti`.`razdel_id`) INNER JOIN `soiskateli` ON (`dolgnosti`.`dolgnost_id` = `soiskateli`.`dolgnost_id`) WHERE (`soiskateli`.`verified` = '1') AND (`soiskateli`.`shelf_time` >= CURDATE() OR `soiskateli`.`shelf_time` = '2001-01-01') GROUP BY `razdeli`.`id`, `razdeli`.`razdel_name`) UNION (SELECT `razdeli`.`id`, `razdeli`.`razdel_name`, COUNT(`soiskateli`.`soiskatel_id`) AS `kol_vo` FROM `razdeli` INNER JOIN `dolgnosti` ON (`razdeli`.`id` = `dolgnosti`.`razdel_id`) INNER JOIN `pret_dolg_sois` ON (`dolgnosti`.`dolgnost_id` = `pret_dolg_sois`.`dolgnost_id`) INNER JOIN `soiskateli` ON (`pret_dolg_sois`.`soiskatel_id` = `soiskateli`.`soiskatel_id`) WHERE (`soiskateli`.`verified`='1') AND ((`soiskateli`.`shelf_time` >= CURDATE()) OR (`soiskateli`.`shelf_time`='2000-01-01')) GROUP BY `razdeli`.`id`, `razdeli`.`razdel_name`) ORDER BY `razdeli`.`razdel_name`


Который без проблем работает под виндой на локалхосте под мастдаем... (не вспомню точно версию МусКула... свеженькая какая то) А вот на серваке или под линью, он совершенно отказывается работать..
Говорит
quote:

Unknown column 'razdeli.razdel_name' in 'ORDER BY'


Нет ну не бред ли, а?! Тут (SELECT `razdeli`.`id`, `razdeli`.`razdel_name`) он значит очень даже новн, а по ордеру унновн В чём фишка?..

Вот так вот начнёшь писать, и решение находишь!
Как говорится "хозяйке на заметку" пишем:

code:
 
(SELECT `razdeli`.`id`, `razdeli`.`razdel_name` AS `r_name`, COUNT(`soiskateli`.`soiskatel_id`) AS `kol_vo` FROM `razdeli` INNER JOIN `dolgnosti` ON (`razdeli`.`id` = `dolgnosti`.`razdel_id`) INNER JOIN `soiskateli` ON (`dolgnosti`.`dolgnost_id` = `soiskateli`.`dolgnost_id`) WHERE (`soiskateli`.`verified` = '1') AND (`soiskateli`.`shelf_time` >= CURDATE() OR `soiskateli`.`shelf_time` = '2001-01-01') GROUP BY `razdeli`.`id`, `razdeli`.`razdel_name`) UNION (SELECT `razdeli`.`id`, `razdeli`.`razdel_name` AS `r_name`, COUNT(`soiskateli`.`soiskatel_id`) AS `kol_vo` FROM `razdeli` INNER JOIN `dolgnosti` ON (`razdeli`.`id` = `dolgnosti`.`razdel_id`) INNER JOIN `pret_dolg_sois` ON (`dolgnosti`.`dolgnost_id` = `pret_dolg_sois`.`dolgnost_id`) INNER JOIN `soiskateli` ON (`pret_dolg_sois`.`soiskatel_id` = `soiskateli`.`soiskatel_id`) WHERE (`soiskateli`.`verified`='1') AND ((`soiskateli`.`shelf_time` >= CURDATE()) OR (`soiskateli`.`shelf_time`='2000-01-01')) GROUP BY `razdeli`.`id`, `razdeli`.`razdel_name`) ORDER BY `r_name`


И всё блин чудесным образом работает!!! (Хоть в саппорт мускула пиши!)

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 25-02-2005 07:58
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Xrobak
Участник+
Средний рейтинг: 4.53 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2004
Место проживания: Житомир
Публикаций: 632
Статус: Xrobak в оф-лайне
[сообщение #74868]

а зачем писать (SELECT `razdeli`.`id`, `razdeli`.`razdel_name`), если можно просто (SELECT razdeli.id, razdeli.razdel_name) а? Может в этом причина...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 25-02-2005 14:52
Нажмите сюда для просмотра профайла Xrobak Отправить Персональное сообщение Xrobak Посетить домашнию страничку Xrobak! Найти сообщения от Xrobak Добавить Xrobak в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #74873]

нет конечно, у меня половина запросов так написана и ничего работате... Тыт именно "локальный" глюк!

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 25-02-2005 16:09
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 06:56.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.01210594 seconds (32.13% PHP - 67.87% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.