【问题标题】:How to filter based on the alias instead of the column name?如何根据别名而不是列名进行过滤?
【发布时间】:2014-06-28 23:47:04
【问题描述】:

如果我有这样的查询::

 SELECT a.emp_num, a.emp_num ||'-'|| a.name AS emp_name
 FROM Employees a 
 WHERE emp_name LIKE '' //Error

如何根据emp_name而不是name进行过滤

【问题讨论】:

    标签: sql database informix sql-like


    【解决方案1】:

    您可以将查询包装在另一个 SELECT 中,并使用来自 emp_name 的别名作为其中的字段名称:

    SELECT x.* 
    FROM (SELECT a.emp_num
               , a.emp_num ||'-'|| a.name AS emp_name
          FROM Employees a 
    ) x
    WHERE x.emp_name LIKE '' 
    

    如果您不想使用附属的外部SELECT,那么您可以在WHERE 子句中传递整个连接字符串:

    SELECT a.emp_num
         , a.emp_num ||'-'|| a.name AS emp_name
    FROM Employees a 
    WHERE a.emp_num ||'-'|| a.name LIKE ''
    

    【讨论】:

    • @just_name : 你成功了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 2010-10-07
    • 2015-02-14
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多