Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

sql запрос


Recommended Posts

MYSQL, есть таблица где сейчас все записи в поле status имеют значение CONFIRMED.

Делаю такой запрос: 

SELECT * FROM yyy WHERE `status` IS NULL OR `status` <> 'CONFIRMED' OR `status` <> 'FAILED'

и мне в phpmyadmin выдаются ВСЕ записи хотя не должно быть ни одной (соответственно в модели OC аналогично).

Вот такой запрос SELECT * FROM yyy WHERE `status` <> 'CONFIRMED' как и положено ничего не возвращает. Почему три условия OR не срабатывают? Поля текстовые, значение точно такие, лишних символов нет.

Вроде корректно работает такой запрос SELECT * FROM yyy WHERE `status` IS NULL OR `status` not IN ('CONFIRMED','FAILED'), но вопрос почему не работает запрос выше?

Змінено користувачем drnemo
Надіслати
Поділитися на інших сайтах


14 минут назад, chukcha сказал:

SHOW CREATE TABLE

CREATE TABLE `yyy` (
 `id` varchar(36) NOT NULL,
 `type` varchar(100) NOT NULL,
 `status` varchar(100) DEFAULT NULL,
 `status_message` varchar(100) DEFAULT NULL,
 `order_id` int(11) NOT NULL,
 `total` float(10,2) NOT NULL,
 `FN` varchar(100) DEFAULT NULL,
 `RNM` varchar(100) DEFAULT NULL,
 `FDN` varchar(100) DEFAULT NULL,
 `FPD` varchar(100) DEFAULT NULL,
 `created_at` datetime NOT NULL,
 `updated_at` datetime NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

 

Надіслати
Поділитися на інших сайтах


2 минуты назад, chukcha сказал:

потмоу что

при status = 'CONFIRMED'

OR `status` <> 'FAILED'  - true

точно, затупил )

т.е. самое правильное делать так?

SELECT * FROM yyy WHERE `status` IS NULL OR `status` not IN ('CONFIRMED','FAILED')

 

Надіслати
Поділитися на інших сайтах


11 минут назад, drnemo сказал:

т.е. самое правильное делать так?

Я не знаю, что вы хотите получить

Надіслати
Поділитися на інших сайтах

Ну.. Первое и важное
Вам нужно правильно престроить таблицу

 `id` varchar(36) NOT NULL,
 

id INT(11) AUTO_INCREMENT

`status` varchar(100) DEFAULT NULL,
 

status CHAR(32) IS NOT NULL

 

 

Надіслати
Поділитися на інших сайтах

7 минут назад, chukcha сказал:

id INT(11) AUTO_INCREMENT

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

в id guid значение 

image.thumb.png.3bb80fccec2213c9a843c942fde246fe.png

9 минут назад, chukcha сказал:

status CHAR(32) IS NOT NULL

в логике модуля статус первоначально создается в значении NULL.... 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.