0

別の問題を抱えているのは私です!

表1

  • n:1
  • n:2
  • n: 3

表2

  • n:1
  • n: 3

クエリ1

  • 結果数: 3

クエリ2

  • 結果数: 2

このテーブルを比較する必要があり、Table1 == Table2の場合は "見つかった" と表示されます。だから私は2つの異なるクエリを作成し、Imは次のようにしています:

while($row1 = mysql_fetch_array($Query1))
{
while($row2 = mysql_fetch_array($Query2))
{
if($row1['n'] == $row2['n'] )
{
echo 'found';
}
}
}

ちょっとばか?:\ 最初の結果だけを表示して停止するようです。

ありがとう

編集

例: 次のテーブルを取得しました: クライアント、およびテーブル: VIP クライアント。同じ ID を持つクライアントが存在する場合は、テーブル VIP クライアントを検索する必要があり、エコーが返されます:「見つかりました」

4

3 に答える 3

1

これが必要かどうかはわかりませんが、1 つのクエリで実行して、vipclients に一致するレコードがあるかどうかを確認できます。

select a.*,b.* ,CASE WHEN b.clientid IS NOT NULL 
       THEN 'FOUND'
       ELSE 'NOT FOUND'
END AS vipexists 
from clients a left outer join vipclients b on a.clientid=b.clientid
于 2012-08-02T02:49:51.047 に答える
0

私があなたを正しく理解していれば、両方のテーブルに同じデータが存在するかどうかを確認したいと思います。結果を2つの異なる配列に保存できます

$table1 = array();
$table2 = array();
while ($row = mysql_query($result1)){
  $table1[] = $row[0];
}
while ($row = mysql_query($result2)){
  $table2[] = $row[0];
}

そしてarray_intersect()、2つの交差点を見つけるために使用します

$intersect = array_intersect($table1, $table2);
echo count($intersect) > 0 ? "Found" : "Not Found";
于 2012-08-02T02:40:20.840 に答える
0
    if( !array_diff( $row1, $row2) )
    {
      echo 'found';
    }
于 2012-08-02T02:58:44.030 に答える