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