1

2 つの異なるデータベースに 2 つのテーブルがある:

usersDatabaseと Databaseがあるとしましょうquestionsusersという名前のテーブルがUSER_STATSある場合

USER_ID,
EDU_INT1,
EDU_INT2,
EDU_INT3

、およびCLASS_SUBJECTS という列を持つquestionsというテーブルがあります。questions

QUESTIONS* from where CLASS_SUBJECTSequalsを表示EDU_INT1,EDU_INT2,EDU_INT3するクエリを実行したいEDU_INTUSER_ID

何か案は?2 つの異なるデータベースがあるため、これはやや困難です。

4

2 に答える 2

2

2 つのデータベース間でクエリを実行する場合は、 のようにデータベース名の.前にテーブル名の前に を追加するだけでよくdatabase.table.column、データベース接続ユーザーは両方のデータベースにアクセスできる必要があります。

それを超えて、これは通常の ですが、3 つの条件を組み合わせて使用JOIN​​するより複雑なON節があります。OR

SELECT
  q.*
FROM 
  questions.questions q
  JOIN users.USER_STATS u ON (
    q.CLASS_SUBJECTS = u.EDU_INT1
    OR q.CLASS_SUBJECTS = u.EDU_INT2
    OR q.CLASS_SUBJECTS = u.EDU_INT3
  )
WHERE u.USER_ID = <some user id>
于 2012-07-15T19:26:30.137 に答える
0

データベース名の参照は、両方が単一サーバー上の同じインスタンスで実行されている場合に機能する可能性があります。複数のサーバーにスケーリングする必要がある場合は、レプリケーションを使用し、場合によっては連合テーブルをセットアップする必要があります。

于 2012-07-15T19:52:26.420 に答える