2012-07-12 37 views

回答

2

我不知道,如果我理解正確的,但是這將返回表1中的所有行,沒有在表2中的匹配項。你可以找到相應的文件NOT EXISTShere

SELECT * 
    FROM table-1 t1 
    WHERE NOT EXISTS(SELECT * FROM table-2 t2 WHERE t1.`Venueid` = t2.`Venueid`) 
2
select a.venueid, a.name 
from table2 a, table-1 b 
where b.pilotid <> 1 and b.venueid = a.venueid; 
1
SELECT  Table_2.* 
    FROM  Table_2 
    LEFT JOIN Table_1 
     ON Table_2.Venueid = Table_1.Venueid 
    WHERE  Table_1.Venueid != 1 
     OR Table_1.Venueid NOT IN(1, 13, 15); 
+1

你從哪裏得到的'13'和'15'值? – 2012-07-12 10:37:24

+0

即使我有相同的查詢 – Parag 2012-07-12 10:45:42

+0

13和15是案例規定您希望排除多個ID的示例。 – 2012-07-12 11:06:54

1
$sql = "select Venueid from Table1 where pilotid <> 1"; 
$data = mysql_query($sql); 
while($row = mysql_fetch_assoc($data)) 
{ 
$ids[] = $row['Venueid']; 
} 
$sql2 = "select * from Table2 where venueid IN(".implode(',', $ids).")"; 
$data2 = mysql_query(sql2); 

//$data2 contains the result-set resource; 
+0

這是一個非常糟糕的做法。 SQL旨在處理這些類型的過濾和排序需求。在做這些事情時,它比PHP要快,它可以保證事務安全和數據完整性,而PHP實現需要爲此付出額外的努力。 – 2012-07-12 11:10:14

相關問題