Выберите из поля где не равно Mysql Php


Мне просто интересно, какую команду mysql я мог бы выполнить на php, чтобы выбрать все элементы из определенной таблицы, где columna не равно x, а columnb не равно x

Что-то вроде: select something from table where columna does not equal x and columnb does not equal x

Есть идеи?

Author: Jeffrey Blake, 2010-07-20

6 answers

Ключом является sql-запрос, который вы настроите в виде строки:

$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";

Обратите внимание, что существует множество способов указать "НЕТ". Еще один, который работает так же хорошо, это:

$sqlquery = "SELECT field1, field2 FROM table WHERE columnA != 'x' AND columbB != 'y'";

Вот полный пример того, как его использовать:

$link = mysql_connect($dbHost,$dbUser,$dbPass) or die("Unable to connect to database");
mysql_select_db("$dbName") or die("Unable to select database $dbName");
$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";
$result=mysql_query($sqlquery);

while ($row = mysql_fetch_assoc($result) {
//do stuff
}

Вы можете делать все, что захотите, в рамках вышеупомянутого цикла while. Получите доступ к каждому полю таблицы как к элементу $row array, что означает, что $row['field1'] даст вам значение для field1 в текущей строке, а $row['field2'] даст вам значение для field2.

Обратите внимание, что если столбцы могут иметь значения NULL, они не будут найдены с использованием любого из вышеперечисленных синтаксисов. Вам нужно будет добавить предложения, чтобы включить значения NULL:

$sqlquery = "SELECT field1, field2 FROM table WHERE (NOT columnA = 'x' OR columnA IS NULL) AND (NOT columbB = 'y' OR columnB IS NULL)";
 65
Author: Jeffrey Blake, 2014-07-10 14:11:41

Вы можете использовать как

NOT columnA = 'x'

Или

columnA != 'x'

Или

columnA <> 'x'

И, как и запрос Джеффли Бейка, для включения нулевых значений вам не нужно писать, как

(NOT columnA = 'x' OR columnA IS NULL)

Вы можете упростить это с помощью

Not columnA <=> 'x'

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

 6
Author: Sayka, 2015-09-15 09:17:05
select * from table where fiels1 NOT LIKE 'x' AND field2 NOT LIKE 'y'

//эта работа выполняется без учета регистра

 1
Author: Affan, 2014-11-25 07:37:10
$sqlquery = "SELECT field1, field2 FROM table WHERE columnA <> 'x' AND columbB <> 'y'";

Я бы предложил использовать оператор diamond () в пользу !=, так как первый из них является допустимым SQL, а второй - добавлением MySQL.

 1
Author: Chanchal Prashant Tapase, 2015-08-24 06:49:08

Или также может вставить оператор внутри скобки.

SELECT * FROM tablename WHERE NOT (columnA = 'x')
 1
Author: hazari zulkefli, 2017-08-16 16:39:13

Вы также можете использовать

select * from tablename where column1 ='a' and column2!='b';

            

 -1
Author: KhabaNganba, 2015-05-26 10:04:55