ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [sql] alias 사용
    DB/SQL 2022. 12. 13. 18:06

     

     

     

     

     

     

     

    📑 alias 사용 범위

     

    ★ 중요 

     

    아래와 같은 쿼리문이 있을 때 첫번째 조회 컬럼인 이용시간을 바로 다음 컬럼에서 사용할 수 없다. 

      SELECT CONVERT(TIMESTAMPDIFF(HOUR, pc_stTime, pc_eTime), UNSIGNED) 이용시간
             ,(이용시간*1000) pc이용총금액
      FROM tb_pcUse;

     

    그럼 이렇게 이용시간을 unknown 알 수 없다고 나온다. 그럼 어떻게 해야할까??

     

     

    아주 간단하다. 해결 방법은 2가지?라기 보단 1가지 방법을 2가지로 나눌 수 있다. 

     

     

    1. 아예 그대로 위에서 구한 값을 아래 컬럼에도 가져다 쓴다. 

     

      SELECT TIMESTAMPDIFF(HOUR, pc_stTime, pc_eTime) AS 이용시간
        ,(TIMESTAMPDIFF(HOUR, pc_stTime, pc_eTime)*1000) pc이용총금액
      FROM tb_pcUse;

     

    2. 위에처럼 사용하면 속도가 저하될 수 있으므로 서브쿼리를 사용한다. 

     

    select ll.이용시간
            ,ll.이용시간 * 1000
        from (
               SELECT TIMESTAMPDIFF(HOUR, pc_stTime, pc_eTime) AS 이용시간
                 FROM tb_pcUse
             ) ll;

     

     

     

     

    반응형

    'DB > SQL' 카테고리의 다른 글

    [SQL] ANSI SQL 이란?  (0) 2023.06.15
    [SQL] 목록 조회하기, Inner Join, outer join  (0) 2022.12.11

    댓글

Designed by Tistory.