1

我在从 mysql 数据库表中获取数据时遇到问题。我在下图中有两个表,例如 table-1 和 table-2。表 1 中 Pilotid 不等于 1 时如何从表 2 中获取数据。

Mysql数据库表

4

4 回答 4

2

我不确定,如果我理解正确,但这会返回 table-1 的所有行,这些行在 table-2 中没有匹配的条目。NOT EXISTS 您可以在此处找到相应的文档。

SELECT * 
  FROM table-1 t1
  WHERE NOT EXISTS( SELECT * FROM table-2 t2 WHERE t1.`Venueid` = t2.`Venueid` )
于 2012-07-12T10:09:17.343 回答
2
select a.venueid, a.name 
from table2 a, table-1 b 
where b.pilotid <> 1 and b.venueid = a.venueid;
于 2012-07-12T10:09:58.517 回答
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);
于 2012-07-12T10:11:15.497 回答
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;
于 2012-07-12T10:14:55.680 回答