带有别名的SQL查询并重新使用它。它的工作如何?

时间:2016-07-12 11:04:55

标签: mysql sql sql-server

我有一些查询,使用别名'作为'例如:

select (TABLE_A.NAME) as NAME_A from TABLE_B where id = 1

我想要做的是重新调用/重新使用NAME_A作为下一栏,如:

select (TABLE_A.NAME) as NAME_A, (NAME_A+"ME") as NAME_B from TABLE_B where id = 1

我该怎么做? thx为进步。祝你有愉快的一天

2 个答案:

答案 0 :(得分:1)

您无法在同一选择列表中引用选择列表别名。正如select list aliases上的MySQL文档所说:

  

可以使用AS alias_name为select_expr指定别名。别名用作表达式的列名,可以在GROUP BY,ORDER BY或HAVING子句中使用。

您需要将别名select表达式包装到子查询中,并且可以在外部查询中使用别名表达式。或者只是简单地引用原始名称下的字段。

答案 1 :(得分:0)

您可以使用子查询。解决方法类似于:

select NAME_A, (NAME_A+"ME") as NAME_B
from(
    select (TABLE_A.NAME) as NAME_A
    from TABLE_A
        where id = 1
    )