代码之家  ›  专栏  ›  技术社区  ›  Fluffy

奇怪的MySQL结果

  •  3
  • Fluffy  · 技术社区  · 14 年前

    我在想,为什么要问

    select * from (select * from users join users a) b
    

    造成 Duplicate column name 错误?当内部查询返回具有重复列的结果集时,使用1进行后缀修复,外部查询则从表中显示一列。

    2 回复  |  直到 14 年前
        1
  •  2
  •   a1ex07    14 年前

    这是正确的行为,因为子查询选择列表中的任何列都必须具有唯一的名称( Subqueries in the From Clause )你也可以查一下 here ,这是旧MySQL版本中的一个bug,它允许您这样做。

        2
  •  0
  •   JiminyCricket    14 年前

    子查询中的列可能具有唯一的名称,因此执行此操作

    select a.id, b.id, a.col1, b.col2, b.col3 from (select a.col1, a.id  from users join users a) b
    

    其中id、col1、col2、col3是我组成的列名