从字段与条件不匹配的表中选择
我只是想知道我可以执行什么样的 SQL 命令来从某个表中选择所有项目,其中 A 列不等于 x
列 B 不等于 x
I'm just wondering what kind of SQL command I could execute that would select all items from a certain table where column A is not equal to x
and column B is not equal to x
类似于:
select something from table
where columna does not equal x and columnb does not equal x
有什么想法吗?
推荐答案
关键是 sql 查询,您将其设置为字符串:
The key is the sql query, which you will set up as a string:
$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";
请注意,有很多方法可以指定 NOT.另一个同样有效的方法是:
Note that there are a lot of ways to specify NOT. Another one that works just as well is:
$sqlquery = "SELECT field1, field2 FROM table WHERE columnA != 'x' AND columbB != 'y'";
以下是如何使用它的完整示例:
Here is a full example of how to use 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
}
您可以在上述 while 循环中做任何您想做的事情.访问表的每个字段作为 $row 数组
的一个元素,这意味着 $row['field1']
将为您提供 field1
的值code> 在当前行上,$row['field2']
将为您提供 field2
的值.
You can do whatever you would like within the above while loop. Access each field of the table as an element of the $row array
which means that $row['field1']
will give you the value for field1
on the current row, and $row['field2']
will give you the value for field2
.
请注意,如果列可能具有 NULL
值,则使用上述任一语法都无法找到这些值.您需要添加子句以包含 NULL
值:
Note that if the column(s) could have NULL
values, those will not be found using either of the above syntaxes. You will need to add clauses to include NULL
values:
$sqlquery = "SELECT field1, field2 FROM table WHERE (NOT columnA = 'x' OR columnA IS NULL) AND (NOT columbB = 'y' OR columnB IS NULL)";
相关文章