Mysql选择异常

时间:2011-07-30 06:53:13

标签: php mysql

我想创建一个包含mysql数据的表,但有一些例外。更确切地说,我有:

$data = mysql_query("SELECT `id` FROM `dates` WHERE `user`='x'");
$exceptions = mysql_query("SELECT `id` FROM `exceptions` WHERE `user`='x'");

我想做类似的事情:

for($j=1; $date = mysql_fetch_object($data); $j++)

但我不想从数据中获取行,使用来自$ exceptions的相同ID,例如:

if($data->id == $exceptions->id) return null;

因此,如果在$ data中我有1,2,3,4,5和$ $例外我有4,我想只返回1,2,3,5行

1 个答案:

答案 0 :(得分:3)

您只需要一个查询:

SELECT id FROM dates WHERE user = 'x' AND id NOT IN (SELECT id FROM exceptions WHERE user = 'x'))

也有多种方法可以编写该查询。您应该始终只想检索所需的数据。