Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2016, 13:37   #1
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию MariaDB. Разный результат при "одинаковых" запросах.

Доброго времени суток.
Столкнулся с таким ужасом.
Написал запрос для выборки:
Код:
SELECT
  pr.id_change,
  se.number_series,
  pr.edit_number,
  pr.date_change,
  pr.note,
  pr.id_edition
FROM
  productchange pr,
  series se
WHERE
  pr.id_series = se.id_series AND(
    se.number_series LIKE '%%' OR pr.edit_number LIKE '%%' OR pr.date_change LIKE '%%' OR pr.note LIKE '%%'
  )
ORDER BY
  se.number_series,
  pr.edit_number
phpmyadmin показывает, что вернул 1473 строки.
А вот дефолтный пхпмайадминский запрос
Код:
SELECT * FROM `productchange`
вернул 1476
Как такое может быть?
Что можно сделать дабы всё было нормально в плане возвращаемых строк?
Одинаковые должны быть результаты:
1. %% остаётся пустым, как и нет его.
2. Сортировка не должна коцать результат.
Artsiom вне форума Ответить с цитированием
Старый 12.10.2016, 13:46   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

А сколько вернет
Код:
SELECT *
FROM
  productchange pr,
  series se
WHERE
  pr.id_series = se.id_series
или же
Код:
SELECT count(*)
FROM
  productchange pr,
  series se
WHERE
  pr.id_series = se.id_series
теже 1473 ?

ДА. тогда смотри
Код:
select * from productchange pr 
where not exists ( select * from series se where se.id_series =pr.id_series )
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 12.10.2016, 14:13   #3
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Да, 1473 строки.
А в последнем запросе:
Код:
Ошибка
Статический анализ:
Найдено 3 ошибок при анализе.
    Неизвестное ключевое слово. (near "NOT" at position 88)
    Неизвестное ключевое слово. (near "EXISTS" at position 92)
    Неожиданный токен. (near "(" at position 99)

SQL запрос: Документация
SELECT * FROM productchange pr  WHERE NOT EXISTS ( LIMIT 0, 25

Ответ MySQL: Документация
#1064 - You have an error in your SQL syntax; check the manual that corresponds
 to your MariaDB server version for the right syntax to use near 'LIMIT 0, 25' at line 6
Ничего не понял.
Посмотрел в документации в инете - всё правильно.
Что за?..
Какой лимит? Его в запросе нет.
Artsiom вне форума Ответить с цитированием
Старый 12.10.2016, 14:38   #4
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Сейчас сейчас только заметил, что ВСЕ мои сложные запросы возвращают на пару строк меньше чем должны были бы.
ппц
Artsiom вне форума Ответить с цитированием
Старый 12.10.2016, 14:58   #5
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Код:
SELECT * FROM productchange WHERE productchange.id_series NOT IN( SELECT series .id_series FROM series )
Вернула недостающие 3 строки.
Теперь понятно.
Осталось понять, как крабоустрица писала эту БД и что происходило с удалением, но это совсем другая история.
evg_m, спасибо за мыслю.
Artsiom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
NOD 32 выругался при заходе в тему "Литература в помощь при работе с базами данных", что в разделе "БД в Delphi" Вадим Мошев О форуме и сайтах клуба 4 09.11.2014 10:14
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04