Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecione em uma tabela em que os campos não correspondem às condições


A chave é a consulta sql, que você configurará como uma string:
$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";

Observe que há muitas maneiras de especificar NOT. Outro que funciona muito bem é:
$sqlquery = "SELECT field1, field2 FROM table WHERE columnA != 'x' AND columbB != 'y'";

Aqui está um exemplo completo de como usá-lo:
$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
}

Você pode fazer o que quiser dentro do loop while acima. Acesse cada campo da tabela como um elemento do $row array o que significa que $row['field1'] lhe dará o valor para field1 na linha atual e $row['field2'] lhe dará o valor para field2 .

Observe que se a(s) coluna(s) puderem ter NULL valores, eles não serão encontrados usando nenhuma das sintaxes acima. Você precisará adicionar cláusulas para incluir NULL valores:
$sqlquery = "SELECT field1, field2 FROM table WHERE (NOT columnA = 'x' OR columnA IS NULL) AND (NOT columbB = 'y' OR columnB IS NULL)";