Q&A

  • [질문]mysql 에서 서브쿼리 사용이 안됩니다.
SELECT IF(ANo='1',(SELECT Goods_Name FROM IMSI WHERE W.ANo='1' LIMIT 1),'') AS AGoods_Name,        
                IF(ANo='1',(SELECT Goods_Name FROM IMSI WHERE W.ANo='2' LIMIT 1),'') AS BGoods_Name,        
                IF(ANo='2',(SELECT Goods_Name FROM IMSI WHERE W.ANo='3' LIMIT 1),'') AS CGoods_Name,        
                IF(ANo='3',(SELECT Goods_Name FROM IMSI WHERE W.ANo='4' LIMIT 1),'') AS DGoods_Name,        
                IF(ANo='4',(SELECT Goods_Name FROM IMSI WHERE W.ANo='5' LIMIT 1),'') AS EGoods_Name        
FROM
(SELECT DISTINCT ANo,Goods_Name
FROM TABLE1 WHERE Gubun IN ('0','1') AND ANo IN ('1','2','3','4','5' ) AND Mana_No = '118791' AND IFNULL(Goods_Name,'') <> '') IMSI;

에서 IMSI 라는 테이블이 없다고 에러가 나옵니다.

MYSQL 5.0 이고요 서브 쿼리가 되는것으로 알고 있는데 에러가 나옵니다.
MYSQL 에서는 위와 같은 쿼리는 사용못하는 건가요?
1  COMMENTS
  • Profile
    공성환 2009.02.18 20:27
    DBMS마다 지원되는 경우가 있고 아닌경우가 있을겁니다.
    위에 작성하신거는 인라인뷰로 오라클에서 자주사용되는 쿼리인데 아마도 MSSQL에서는 지원이 안되는것 같네요...(MSSQL을 사용해본적이 없어서)

    서브쿼리,스칼라서브쿼리,인라인뷰, 각종 함수는 DBMS마다 지원되는경우가 있고 아닌경우가 있으니 레퍼렌스를 먼저 참조하시는게 좋을듯하네요...