2012-09-25 2 views
0

나중에 동일한 선택 항목에서 'AS uniqueName'과 같은 변수를 어떻게 사용할 수 있습니까?MySQL - SELECT에서 'AS var_name'사용

내가 뭔가 쉽게 할 단지 결과 집합을 반복 할 필요 없다 그래서 선택 안에 몇 가지 간단한 논리를 넣어 노력하고 있어요 : 당신은 별명에 액세스하기 위해 하위 쿼리를 사용할 수 있습니다

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 

답변

2

을 그 당신은 다음을 제공했습니다 :

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 
+0

마지막 두 줄에 'on clause'에 'unknown column'emp_crns.id가 있습니까? – user1627928

+0

@ user1627928 내 편집보기 – Taryn

+0

다른 방법이 있나요? CodeIgniter에서 activerecords를 사용하고 있으며이 기능이 존재하지 않습니다. – user1627928

관련 문제