【问题标题】:How to show values from two different queries?如何显示来自两个不同查询的值?
【发布时间】:2011-02-06 17:48:18
【问题描述】:

我有一个包含所有用户信息(包括姓名)的数据库。然后是第二个数据库,其中包含来自用户的注释,它包含#id 但不包含名称。我正在执行的检索用户注释的查询没有名称,因此它所做的只是显示注释,然后在它下面我正在执行另一个查询以使用通用#id 从第一个数据库中检索名称。但它不会显示。

有没有办法一次性完成这个查询?请帮忙。谢谢。

【问题讨论】:

    标签: sql mysql join


    【解决方案1】:

    用途:

       SELECT u.name,
              n.*
         FROM DB2.NOTES n
    LEFT JOIN DB1.USERS u ON n.id = u.id
     ORDER BY u.name
    

    假设连接凭据可以访问这两个数据库,您可以在表名前面添加数据库名称的前缀并用句点分隔。

    LEFT JOIN 将显示两个用户,以及没有关联用户的注释。这是good primer on JOINs

    【讨论】:

      【解决方案2】:

      您可能需要显示您的代码,但您可以针对同一主机上的两个数据库(或模式)编写查询,只需使用数据库名称限定表名,例如

      SELECT db1.user.id, db1.user.name, db2.userinfo.notes
      FROM db1.user
      INNER JOIN  db2.userinfo ON(db1.user.id=db2.userinfo.id)
      

      您要连接的凭据必须能够访问这两个数据库才能正常工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-18
        • 2017-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多