|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.01.2013, 14:19 | #1 |
Пользователь
Регистрация: 03.02.2012
Сообщений: 39
|
Сложный запрос и Непредсказуемый результат (проблема с MySQL)
Здравствуйте Уважаемые!
Есть интересный запрос, который не даёт мне покоя уже неделю: Код:
group_id - ID группы , group_name - Имя группы / group_id - ID группы (дублируется из таблицы cams_groups ), cam_id - цыфры (могут быть повторяющимися), rule_status - цыфры (значения только 0, 1, 2 или res_dlw, res_alw, res_ono соответственно). В результате запрос выдаёт в JQuery таблицу типа group_id, group_name, rule_status Где group_id и group_name - соответствуют оригиналу, а rule_status выдаёт res_dlw/res_alw/res_ono (число/число/число) Число - это сумма значений из rule_status соответствующих res_dlw, res_alw, res_ono. То есть если у одного group_id (например 5) с разными cam_id (например 2 и 15) одинаковые значение столбца rule_status res_dlw (это 0), то должно вывестись 2/0/0, а выводится 4/0/0. Или например 2/1/0, а выводится 6/3/0. Получается, что при подсчёте запрос помимо желаемого складывания ещё и умножает каждое значение на общую сумму res_dlw + res_alw + res_ono, то есть 2*3/1*3/0*3 Так что MySQL не перестаёт удивлять (или это просто создатель запроса где-то сильно затупил). Если кто сможет помочь, буду чрезвычайно благодарен! Последний раз редактировалось Jopses; 28.01.2013 в 14:24. |
28.01.2013, 14:59 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Смотрим часть
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
28.01.2013, 15:18 | #3 |
Пользователь
Регистрация: 03.02.2012
Сообщений: 39
|
Согласен! Странно, но ошибки не выдаёт и запрос выполнят, но как я сказал выше "с проблемкой". Хотя с другой стороны cams_rules_groups и cams_groups ПОИМЕНОВАНЫ до того, как начали мелькать в ON. Так что спорно ваше утверждение. А crgg идентифицирует этот LEFT OUTER JOIN (...) запрос.
|
28.01.2013, 15:40 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 28.01.2013 в 15:43. |
28.01.2013, 16:00 | #5 |
Пользователь
Регистрация: 03.02.2012
Сообщений: 39
|
Даже если откинуть crg.cam_id , crg.rule_status (не вносить в запрос) то результат остаётся прежним
|
28.01.2013, 16:06 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Что-то не то. Покажите на примере реальных данных, где мой запрос что-то удваивает или утраивает с вашей точки зрения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
28.01.2013, 16:15 | #7 |
Пользователь
Регистрация: 03.02.2012
Сообщений: 39
|
Извините) Не так Вас понял) Всё отлично отрабатывается. Огромнейшее спасибо за помощь!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сложный sql-запрос на mysql | Cpluser | Помощь студентам | 2 | 24.11.2011 16:53 |
Сложный запрос для MySQL | fioru | SQL, базы данных | 5 | 07.09.2011 22:45 |
Сложный запрос | templton | Microsoft Office Access | 8 | 21.04.2011 13:43 |
Сложный запрос | Kostya777 | Microsoft Office Access | 1 | 07.12.2010 12:02 |
Сложный запрос | Lianchik | Помощь студентам | 1 | 01.03.2010 17:16 |