我只是想知道我可以执行什么样的 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)
python - 如何安装 MySQLdb 包? (导入错误 : No module named s
mysql - org.hibernate.AssertionFailure : null id i
java - 使用 Java 通过 SSH 连接到远程 MySQL 数据库
mysql - 获取 "Count(*)"与 "GROUP BY"中所有项目数的百分比