MySQL-使用';作为变量名';选择

MySQL-使用';作为变量名';选择,mysql,sql,Mysql,Sql,以后如何在同一选择中的选择中使用变量,如“as uniqueName” 我试图在select中加入一些简单的逻辑,这样我就不必迭代结果集来做一些简单的事情: SELECT CASE emp_crns.ansi_class when -1 then 'N' when 150 then 0 when 300 then 1 when 600 then 2 when 900 then 3 when 1500 then 4 when 2500 the

以后如何在同一选择中的选择中使用变量,如“as uniqueName”

我试图在select中加入一些简单的逻辑,这样我就不必迭代结果集来做一些简单的事情:

SELECT
CASE emp_crns.ansi_class
    when -1 then 'N'
    when 150 then 0
    when 300 then 1
    when 600 then 2
    when 900 then 3
    when 1500 then 4
    when 2500 then 6
    when 3500 then 8
    else 'X'
end AS crnAnsiClassCode,
CONCAT('REV. ', crnAnsiClassCode, ' ', emp_models.name) AS modelName
FROM
emp_models
JOIN
emp_revisions ON emp_revisions.id=emp_models.revision_id
JOIN
emp_crns ON emp_crns.id=emp_revisions.crn_id

您可以使用子查询访问您提供的别名:

SELECT empcrns.crnAnsiClassCode,
    CONCAT('REV. ', empcrns.crnAnsiClassCode, ' ', emp_models.name) AS modelName
FROM emp_models
JOIN emp_revisions 
    ON emp_revisions.id=emp_models.revision_id
JOIN
(
    SELECT id, 
        CASE ansi_class
            when -1 then 'N'
            when 150 then 0
            when 300 then 1
            when 600 then 2
            when 900 then 3
            when 1500 then 4
            when 2500 then 6
            when 3500 then 8
            else 'X'
        end AS crnAnsiClassCode
    FROM emp_crns
) empcrns
    ON empcrns.id=emp_revisions.crn_id

在最后两行的“on子句”中获取一个
未知列“emp\u crns.id”?还有其他方法吗?我正在CodeIgniter中使用activerecords,但此功能不存在。什么功能不存在?我正在使用activerecords,因此我无法在JOIN@user1627928我不熟悉CodeIgniter,我将很乐意回答这个问题。