我想创建一个包含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行
答案 0 :(得分:3)
您只需要一个查询:
SELECT id FROM dates WHERE user = 'x' AND id NOT IN (SELECT id FROM exceptions WHERE user = 'x'))
也有多种方法可以编写该查询。您应该始终只想检索所需的数据。