[MySQL]필드에 서브쿼리를 사용한경우 서브쿼리 값을 WHERE절에서 검색 하는 방법
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
댓글
댓글 쓰기