php - 从字段不匹配条件的表中选择

我只是想知道我可以执行什么样的 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)";

https://stackoverflow.com/questions/3286644/

相关文章:

mysql - 带有引用 MySQL 中同一个表的子查询的 SQL UPDATE

mysql - INSERT ... 使用 WHERE 进行重复的 key 更新?

mysql - 仅获取mysql中时间戳中的日期

mysql - 查询以确定数据库中表的大小? (mysql)

python - 如何安装 MySQLdb 包? (导入错误 : No module named s

mysql - org.hibernate.AssertionFailure : null id i

java - 使用 Java 通过 SSH 连接到远程 MySQL 数据库

mysql - 获取 "Count(*)"与 "GROUP BY"中所有项目数的百分比

php - 选择在 wp_usermeta 表中的多行上具有合格数据的用户

mysql - 如何让 MySQL 数据库完全在内存中运行?