sql >> Database >  >> RDS >> Mysql

Kies uit een tabel waarin velden niet overeenkomen met de voorwaarden

De sleutel is de sql-query, die u als een tekenreeks instelt:

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

Merk op dat er veel manieren zijn om NIET op te geven. Een andere die net zo goed werkt, is:

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

Hier is een volledig voorbeeld van hoe het te gebruiken:

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

Je kunt doen wat je wilt binnen de bovenstaande while-lus. Open elk veld van de tabel als een element van de $row array wat betekent dat $row['field1'] geeft u de waarde voor field1 op de huidige rij, en $row['field2'] geeft u de waarde voor field2 .

Merk op dat als de kolom(men) NULL . zouden kunnen hebben waarden, zullen die niet worden gevonden met een van de bovenstaande syntaxis. U moet clausules toevoegen om NULL . op te nemen waarden:

$sqlquery = "SELECT field1, field2 FROM table WHERE (NOT columnA = 'x' OR columnA IS NULL) AND (NOT columbB = 'y' OR columnB IS NULL)";


  1. subsonic 2 join op meerdere kolommen

  2. Laravel:Fout [PDOException]:Kan stuurprogramma niet vinden in PostgreSQL

  3. Gebruik tnsnames.ora in Oracle SQL Developer

  4. Controleren op NULL op een verzameling in JPQL-query's?