0

私は2つのデータベースを持っています。1つはテーブルが呼び出され、もう1つはv_esd呼び出しですchannel_did

v_esdという列があり、という列がnumberありchannel_didますdid

テーブルを検索して、列の値をテーブル内channel_didの列と一致させたいです。一致しない場合は、結果を表示します。didnumberv_esd

2 つの完全に別個のデータベースであるため、2 つの異なる接続文字列があります。

4

2 に答える 2

0

これを試して:

SELECT * FROM `database1`.`v_esd` JOIN `database2`.`channel_did` ON `database1`.`v_esd`.`number` = `database2`.`channel_did`.`did`

これは機能するはずです。おそらく、クエリで「AS」を使用してこのステートメントを短縮できます

于 2013-10-31T20:17:57.877 に答える
0
SELECT * FROM db1.channel_did.did WHERE did NOT IN(SELECT number FROM db2.v_esd )

select db ステートメントをドロップするだけで、それらが同じサーバー上にある場合、接続はそのサーバー上の任意のデータベースにアクセスできます。いいえ、別のサーバー上にある場合、1 つのクエリでそれを行うことはできません。

$rs = mysql_query($query1);

    while($row1 = mysql_fetch_assoc($rs)) {
      if($i<$numrows){
        $data1[$i] = $row1;
    }
  }

$rs2 = mysql_query($query2);
    while($row2 = mysql_fetch_assoc($rs2)) {
      if($i<$numrows){
        $data2[$i] = $row2;
    }
  }
$uniquevalues = array_merge(array_diff($row1, $row2), array_diff($row2, $row1))

このようなもの

于 2013-10-31T20:19:44.810 に答える