我只是想知道我可以执行什么样的 SQL 命令来从某个表中选择 A 列不等于 x
且 B 列不等于 的所有项目x
类似:
select something from table
where columna does not equal x and columnb does not equal x
有什么想法吗?
最佳答案
关键是 sql 查询,您将其设置为字符串:
$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";
请注意,有很多方法可以指定 NOT。另一个同样有效的是:
$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
值(value)观:
$sqlquery = "SELECT field1, field2 FROM table WHERE (NOT columnA = 'x' OR columnA IS NULL) AND (NOT columbB = 'y' OR columnB IS NULL)";
关于php - 从字段不匹配条件的表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3286644/