[MySQL]필드에 서브쿼리를 사용한경우 서브쿼리 값을 WHERE절에서 검색 하는 방법

SELECT

              s.id as shop_id ,
              s.hq_name as hq_name ,
              i.work_date as work_date ,
              ( SELECT n.`count`  FROM work_order.inv_new as n  

                 AND n.shop_id = i.shop_id
              ) as cnt1,

               ( SELECT n.`count`  FROM work_order.inv_new as n  

                 AND n.shop_id = i.shop_id
              ) as cnt2

FROM `work_order`.`shop` as s

WHERE cnt1 = '1'



이면 에러가 난다.  앨리어스는 검색 할수 없더라.
하다가 안되어서 FROM 절에 SELECT 쓰는 것으로 INLINE VIEW 라고 하더라.
MySQL에서도 되는 듯 하여 써봤다.

 

SELECT 문을 그대로 두고 필드에 일일이 앨리어스를 붙인다음  ( ) 로 싸고 그 앨리어스를
필드명으로 설정 하여 출력 했다.
 

SELECT shop_id,
       hq_name,
       shop_name,
       place,
       agency_cd,
       work_date,

FROM
       ( SELECT

              s.id as shop_id ,
              s.hq_name as hq_name ,
              s.shop_name as shop_name ,
              s.place as place ,
              s.agency_cd as agency_cd ,
              i.work_date as work_date ,
              ( SELECT n.`count`  FROM work_order.inv_new as n  

                 AND n.shop_id = i.shop_id
              ) as cnt1,

               ( SELECT n.`count`  FROM work_order.inv_new as n  

                 AND n.shop_id = i.shop_id
              ) as cnt2

          FROM `work_order`.`shop` as s
      ) as l
 WHERE cnt1 != cnt2 or cnt1 = 10


 


 

댓글

이 블로그의 인기 게시물

XCOPY를 이용한 당일날짜의 파일만 카피하는방법

뽀롱 뽀롱 뽀로로 DVD 목록

자바스크립트 배열의 인덱스를 알아내기