mysql - 如果两个表具有特定的相等性,如何进行选择连接

标签 mysql join

在两个不同的数据库中有两个表:

假设我有数据库用户和数据库问题。如果 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/

相关文章:

mysql - 加入两个表后的 SQL 更新 - 不工作

mysql - 将多个计数插入到第二个 mySQL 表中

mysql - 如何将两个具有不同字段的表连接到mysql中的单个表?

mysql - 如何避免多次连接到同一个表以在单行中返回结果?

python - 如何设计一个数据库来表示结构变化的数据?

r - R中与调查设计相关的问题

mysql - 选择一个表中的所有项目,并检查另一个表中是否有对应的项目

MySQL:三个相互关联的表

mysql - 不确定这个右外连接的结果是什么

MYSQL逆向工程EXTRACT()