Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
SQL-запрос, разница в MySQL4 и MySQL5 (Damon) 16/09/2011 - 17:34:16
      Re: Начните с того, что (+) (Akina) 16/09/2011 - 18:01:32
      Re: Начните с того, что - НЕ ПОМОГАЕТ! (Damon) 17/09/2011 - 14:59:39
      Re: А теперь (Akina) 17/09/2011 - 18:01:30
      Re: А теперь (Damon) 19/09/2011 - 12:48:18
      Re: Класс! (Akina) 19/09/2011 - 16:26:00
      Re: Класс! (Damon) 20/09/2011 - 13:19:27
      Re: Класс! (Akina) 20/09/2011 - 22:13:36
      Re: Класс! (Damon) 22/09/2011 - 15:36:00

> Original message text:
> From: Damon - 16/09/2011 - 17:34:16
> Subject:SQL-запрос, разница в MySQL4 и MySQL5
> -----------------
> Здравствуйте.
> Помогите разобраться в следующей ситуации. Не знаю почему, но один и тот же запрос по разному выводит результат в MySQL 4 и 5.
>
> SELECT tab1.id, tab1.name, COUNT( tab2.name ) AS kolvo
> FROM tab1
> LEFT OUTER JOIN tab2 ON tab1.id = tab2.idTab1
> RIGHT OUTER JOIN tab2 tab2_1 ON tab2.id = tab2_1.id
> WHERE tab1.isDel <>1
> AND tab2_1.isDel <>1
> GROUP BY tab1.name, tab1.id
>
> результат в MySQL4
>
> id | name | kolvo
> 1 | t1-rec1 | 1
> 2 | t1-rec2 | 0
> 3 | t1-rec3 | 0
>
> результат в MySQL5
>
> id | name | kolvo
> 1 | t1-rec1 | 1
>
> Объясните, почему так происходит или помогите составить корректный запрос, чтобы результат был таким:
>
> id | name | kolvo
> 1 | t1-rec1 | 1
> 2 | t1-rec2 | 0
> 3 | t1-rec3 | 0
>
> Пример запроса можно посмотреть здесь (MySQL4 http://svetlanarogozina.ru/tmp/1.php) и здесь (MySQL5 http://tex-spassk.ru/tmp/1.php) Дампы таблиц можно взять здесь (http://tex-spassk.ru/tmp/1.sql.txt).
>


From: Akina - 20/09/2011 - 22:13:36
Subject:Класс!
-----------------
Я уже сказал, что связывание неоднозначно. Одна версия трактует его одним образом, другая - иначе. И обе в своём праве. Т.е. оба результата хоть и различны, но верны.

А если один из вариантов Вам лично не подходит - стОит сделать простой вывод. Текст запроса не соответствует бизнес-логике.

Посему предлагаю перестать занимаются фигнёй, чётко и однозначно сформулировать задачу и дать структуру хранения данных, на котороой следует эту задачу решить.

Если же Вас интересует именно различие парсеров - исходники парсер-оптимизатора доступны, изучайте.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
40602



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |