Как исправить «Выбор строк без нулевого или пустого значения в каждом столбце»? - PullRequest
0 голосов
/ 08 апреля 2019

У меня проблемы с использованием этого кода здесь:

select *
from toadd
where pcode = '' or pcode is null or
      brand = '' or brand is null or
      description = '' or description is null;

Я пытаюсь вернуть значения, для которых в столбцах выше нет пустых или пустых значений.

Моя проблема: я закодировал запрос, чтобы он возвращал только значения, которые являются только нулевыми или пустыми значениями, посмотрю, работает ли он на самом деле, а затем я использую оператор удаления на основе этого запроса.

Но он по-прежнему возвращает столбцы с заполненными данными, хотя я и сказал, что не отображаются никакие значения, заполненные в запросе.

Не уверен, почему он это делает?

Все мои типы столбцов настроены как VARCHAR Я смешал данные с текстом и числами.

Вот мой макет стола:

Table: outerb
Columns:
id int(11) AI PK 
pcode varchar(255) 
brand varchar(255) 
description varchar(255) 
size varchar(255) 
barcode varchar(255)

Вот как это выглядит сейчас

введите описание изображения здесь

это мой ожидаемый результат:

введите описание изображения здесь

Ответы [ 3 ]

1 голос
/ 08 апреля 2019

изменить внешнее or состояние на and

     select * from toadd where (pcode = '' or pcode is null) and
     ( brand = '' or brand is null) and
      (description = '' or description is null)
0 голосов
/ 08 апреля 2019

Вы можете получить желаемый результат, используя следующий SQL-запрос

SELECT * FROM `outerb ` 
WHERE Length(`pcode `) > 0 
AND Length(`brand `) >0 
AND Length(`description `) > 0
0 голосов
/ 08 апреля 2019

Если вы хотите, чтобы строки, в которых все протестированные столбцы не были пустыми или не пустыми

select * 
from toadd 
where !(pcode = '' or pcode is null) AND
      !(brand = '' or brand is null) AND
      !(description = '' or description is null);

Если вы хотите исключить строки, в которых один или несколько столбцов пусты или равны нулю

select * 
from toadd 
where !(pcode = '' or pcode is null) OR
      !(brand = '' or brand is null) OR
      !(description = '' or description is null);
...