sql >> Base de Datos >  >> RDS >> Mysql

Seleccionar de una tabla donde los campos no coinciden con las condiciones

La clave es la consulta sql, que configurará como una cadena:

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

Tenga en cuenta que hay muchas formas de especificar NOT. Otro que funciona igual de bien es:

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

Aquí hay un ejemplo completo de cómo usarlo:

$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
}

Puedes hacer lo que quieras dentro del ciclo while anterior. Acceda a cada campo de la tabla como un elemento de la matriz $row array lo que significa que $row['field1'] le dará el valor para field1 en la fila actual y $row['field2'] le dará el valor para field2 .

Tenga en cuenta que si la(s) columna(s) pudiera(n) tener NULL valores, estos no se encontrarán utilizando ninguna de las sintaxis anteriores. Deberá agregar 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)";