【问题标题】:Joining a subselect to a table in sql将子选择加入sql中的表
【发布时间】:2010-10-29 14:51:13
【问题描述】:

是否可以将 SELECT 的结果与另一个表连接。

像这样: SELECT * FROM table1 LEFT OUTER JOIN (SELECT * FROM table 2)

我知道我需要链接该列,但不确定如何链接。这可能吗?

【问题讨论】:

    标签: mysql join


    【解决方案1】:

    您需要知道要加入哪些列。假设它们在两个表中都被称为ID,这样的事情会起作用:

    SELECT *
    FROM table1 t1
    LEFT OUTER JOIN (SELECT * FROM table 2) t2 on t1.ID = t2.ID
    

    请注意,您应该明确命名您需要的列,而不是使用*。如果您不需要所有数据,这将提供更有效的查询,并且还可以防止返回重复的列名。

    【讨论】:

    • 谢谢。我试图做 LEFT OUTER JOIN (SELECT * FROM table 2) AS t2 on t1.ID = t2.ID
    【解决方案2】:

    你可以这样做。代码类似于:

    (SELECT id as leftid, [other fields] FROM table1) LEFT OUTER JOIN (SELECT id rightid, [other fields] FROM table2) ON (leftid=rightid)

    虽然我没有测试它...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      相关资源
      最近更新 更多