1

mysqlデータベーステーブルからデータをフェッチする際に問題が発生しました。下の図のtable-1とtable-2のような2つのテーブルがあります。表1のpilotidが1に等しくない場合に、表2からデータを取得する方法。

Mysqlデータベーステーブル

4

4 に答える 4

2

正しく理解しているかどうかはわかりませんが、これにより、テーブル 2 に一致するエントリがないテーブル 1 のすべての行が返されます。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
$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 に答える
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 に答える