在两个不同的数据库中有两个表:
假设我有数据库用户
和数据库问题
。如果 users
有一个名为 USER_STATS
的表,其中有
USER_ID,
EDU_INT1,
EDU_INT2,
EDU_INT3
,questions
有一个名为 questions
的表,其中有一列名为 CLASS_SUBJECTS。
我想运行一个查询,它将显示 * from QUESTIONS
where CLASS_SUBJECTS
equals either EDU_INT1,EDU_INT2,EDU_INT3
where the EDU_INT
由特定的 USER_ID
有什么想法吗?由于两个不同的数据库,这是半难的
最佳答案
跨两个数据库查询时,只需要在表名前加上数据库名.
,如database.table.column
,以及数据库连接用户必须有权访问这两个数据库。
除此之外,这是一个常规的 JOIN
,但有一个更复杂的 ON
子句,使用 3 个条件 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>
关于mysql - 如果两个表具有特定的相等性,如何进行选择连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11494863/