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

MariaDB:投影中的别名可能吗?

  •  0
  • chris01  · 技术社区  · 11 月前
    SELECT name AS n, CONCAT(name,'X') FROM mytab;
    
    n     concat
    ------------
    tim   timX
    sue   sueX
    

    在投影中使用别名(n)时,它不起作用。

    SELECT name AS n, CONCAT(n,'X') FROM mytab;
    
    > Unknown column 'n' in 'field list'
    

    这通常是不允许的吗?还是我需要将其设置为不同于AS?

    我有一个更长的语句,在投影中使用别名会有所帮助。

    1 回复  |  直到 11 月前
        1
  •  3
  •   Tim Biegeleisen    11 月前

    通常不能在中引用别名 SELECT 在同一级别定义的条款。因此,这给你留下了两个可能的解决方案,第一个你已经知道了:

    SELECT name AS n, CONCAT(name, 'X') FROM mytab;
    

    另一种选择是别名 name n 在子查询中,然后查询它:

    SELECT n, CONCAT(n, 'X')
    FROM
    (
        SELECT name AS n
        FROM mytab
    ) t;