【问题标题】:SELECT * FROM db1 WHERE db1.table.value = db2.table.valueSELECT * FROM db1 WHERE db1.table.value = db2.table.value
【发布时间】:2020-10-16 09:21:13
【问题描述】:

我正在使用 mySQL 数据库并尝试为用户显示正确的数据。为了做到这一点,我检查我从一个后端调用的数据是否等于来自另一个后端的用户名,就像这样

SELECT * FROM db1 WHERE db1.table.value = db2.table.value

数据库的名称是 A 和 B。

SELECT * 
  FROM `A.onboardings`
     , `B.loginsystem` 
 WHERE onboardings.sales_email = loginsystem.username

问题是我收到错误A.A.onboardings doesn't existsA.B.loginsystem doesn't exist 请帮助:(

【问题讨论】:

    标签: mysql sql reactjs database express


    【解决方案1】:

    您必须使用此表格 - 来自 A 入职

    【讨论】:

    • 但是 A 和 B 是 2 个不同的架构,我无法访问架构 B 它不在 A 中
    【解决方案2】:

    你必须把反引号放在正确的速度,否则你的表被称为A.onboardings的mysql东西@

    正如所见,需要围绕数据库和表名

    使用别名有助于即使在大型查询中也能保持良好的概览,并且您必须减少编写代码

    "SELECT * FROM `A`.`onboardings` a1,`B`.`loginsystem` b1 WHERE a1.sales_email = b1.username"
    

    【讨论】:

      【解决方案3】:

      试试这个(根据你的数据库名称、表和匹配的列名更改查询)

      SELECT * FROM mydatabase1.tblUsers INNER JOIN mydatabase2.tblUsers ON mydatabase1.tblUsers.UserID = mydatabase2.tblUsers.UserID
      

      【讨论】:

        【解决方案4】:

        问题是

        `A.onboardings`
        

        不一样

         A.onboardings
        

        第一个是表引用,其中表名中有句点。第二个是数据库A中的onboardings表。

        另外,你应该使用JOIN!!!

        SELECT *
        FROM A.onboardings o JOIN
             B.loginsystem ls
             ON o.sales_email = ls.username;
        

        如果你觉得有必要逃避身份识别——我确实推荐——那么:

        SELECT *
        FROM `A`.`onboardings` o JOIN
             `B`.`loginsystem` ls
             ON o.sales_email = ls.username;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-21
          相关资源
          最近更新 更多