퇴근5분전

 

 아싸! 성공했다.

 

 네번째 시도는 정렬하다가 포기했다. 그냥 막막해서... 그러다가 문득 떠오르는 생각이 있어

이걸 두번째 주석날려먹어야 정렬되는 프로그램에 적용하다가 완성이 되었다.

주석 날려먹게 된 배경은


/*콤마 앞, 뒤 섞은것*/
SELECT  T1.COL1 A, --에이
        T1.COL2 B  -- 비
       ,T1.COL3 C/*씨*/       
  FROM  TB00 T1 /*테이블*/
  LEFT 
 OUTER  JOIN LTB00 T2
    ON  T1.COL1 = T2.COL1/*ON주석*/
   AND  T1.COL1 = T2.COL2
 WHERE  T1.COL1 = 'A'/*WHERE주석*/
 GROUP  BY T1.COL1,/*에이*/
           T1.COL2  --비
          ,T1.COL3,  --씨
   T1.COL1,/*에이*/
           T1.COL2/*비*/
          ,T1.COL3/*씨*/         
HAVING  COUNT ( T1.COL1 ) > 0
 ORDER  BY T1.COL1 desc,/*에이*/
           T1.COL2 asc/*비*/
          ,T1.COL3 desc/*씨*/
,T1.COL1,/*에이*/
           T1.COL2/*비*/
          ,T1.COL3/*씨*/

 

 

사용자가 찍는 콤마와 주석 위치에 따라 주석 배치가 제대로 안되었던 거였는데...

이게 주석들을 모두 제거하면 포맷이 이쁘게 잘 나왔었다.

이걸 해결했다.

 

 주석 없이 쓰다가... 너무 불편해서... 시간이 좀 될때 잊어버릴만 할때

다시 설계를 해서 세번째 시도... 실패.. 역시나 case문이 다중으로 들어가면 골아프다.

 

 남이 짜놓은 쿼리문에 주석이 많을때... 이걸 어떻게 해볼 방법이 없었기 때문에,

구글링을 해봐도 딱 내입맛에 맞는 정렬 프로그램이 없어 만들자였는데 1년만에 된 것 같네.

 

 

-- 콤마 앞으로 배치

 

-- 콤마 뒤로 배치

 

그리고 이건 SSMS 에 들어가는 SqlFormatter 의 설정화면.