sql >> Databáze >  >> RDS >> Mysql

Vyberte z tabulky, kde pole neodpovídají podmínkám

Klíčem je sql dotaz, který nastavíte jako řetězec:

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

Všimněte si, že existuje mnoho způsobů, jak určit NOT. Další, který funguje stejně dobře, je:

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

Zde je úplný příklad použití:

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

Ve výše uvedené smyčce while můžete dělat, co chcete. Ke každému poli tabulky přistupujte jako k prvku $row array což znamená, že $row['field1'] vám dá hodnotu pro field1 na aktuálním řádku a $row['field2'] vám dá hodnotu pro field2 .

Všimněte si, že pokud sloupce mohou mít NULL hodnoty, tyto nebudou nalezeny pomocí žádné z výše uvedených syntaxí. K zahrnutí NULL budete muset přidat klauzule hodnoty:

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


  1. Automatizovaný způsob převodu souborů XML do databáze SQL?

  2. Jak povolit fulltextové vyhledávání se spojovníky ve vyhledávacím dotazu

  3. Jak vypočítat věk od data narození v SQL

  4. Chyba MySQL – příkazy nejsou synchronizované; tento příkaz nyní nemůžete spustit