데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
SELECT A.hName, A.aName, A.WHRate, ROUND(3000000/cast(A.WHRate as float),-3) AS WHMax,
case WHMAX > 1 then WIN=1 else WIN=0 end
FROM
( SELECT ROW_NUMBER() OVER (PARTITION BY hName ORDER BY MAX(WHRate) DESC) AS Row
, MAX(WHRate) AS WHRate, FROM Data where WHRate<>''
GROUP BY hName
) AS A ,
WHERE A.Row = 1
별칭 컬럼 WHMax 를 사용해서
case WHMAX > 1 then WIN=1 else WIN=0 end
구문을 만들려고 하니까. WHMAX 는 잘못된 컬럼명이라는 에러가 나네요?
예전엔 별칭컬럼명으로 연산가능 했는걸로 아는데 별칭컬럼명으로 연산할수 있는 방법없을까요?
고견 부탁드립니다.
같은 select 위치에서는 다른 컬럼 별칭을 이용해서 처리 할수는 없습니다.
인라인뷰나 with를 한번더 묶어주시고 사용하시거난 원래 내용을 그대로 기술 하셔야 합니다.