看MYSQL的版本,看能不能支持子查询, 可以的话就 select * from files f where not exists(select 1 from news where f.xx=news.yy) 不可以的就 select * from files f left join news n on f.xx=n.yy
谢谢,我自己用PHP代码解决了不知有没有更好的方法$filequery="select filename from phome_enewsfile"; $filesql=$empire->query($filequery); while ($fr=$empire->fetch($filesql)) { $newsquery="select * from phome_ecms_news where newstext like '%".$fr[filename]."%'"; $nowm=mysql_num_rows(mysql_query($newsquery)); if ($nowm==0 ) {$nofile.="'".$fr[filename]."'".",";} } $nofile=substr($nofile,0,-1); //echo $nofile; //exit; $query="select * from phome_enewsfile where filename in ($nofile)";
可以的话就
select * from files f where not exists(select 1 from news where f.xx=news.yy)
不可以的就
select * from files f left join news n on f.xx=n.yy
$filesql=$empire->query($filequery);
while ($fr=$empire->fetch($filesql))
{
$newsquery="select * from phome_ecms_news where newstext like '%".$fr[filename]."%'";
$nowm=mysql_num_rows(mysql_query($newsquery));
if ($nowm==0 )
{$nofile.="'".$fr[filename]."'".",";}
}
$nofile=substr($nofile,0,-1);
//echo $nofile;
//exit;
$query="select * from phome_enewsfile where filename in ($nofile)";