Q&A

  • sql문 좀 풀어주십시요.
select a.bu_name,a.bu_to,b.cnt from 부서코드 a, (select count(*) cnt from 개인기초 group by busea)b where a.buname=b.busea;

위의 문의 에러를 좀 잡아주십시요. count문의 사용이 영.........

5  COMMENTS
  • Profile
    조덕진 2001.02.01 01:24
    김범수 wrote:

    > select a.bu_name,a.bu_to,b.cnt from 부서코드 a, (select count(*) cnt from 개인기초 group by busea)b where a.buname=b.busea;

    > 위의 문의 에러를 좀 잡아주십시요. count문의 사용이 영.........



    안녕하세요. 델초보 조덕진입니다.

    SQL 문장이 좀 복잡(?)하네요. 비슷한 내용이지만, 다르게 코딩해봤습니다.



    select a.bu_name, a.bu_to,

    (select count(*) from 개인기초 b where b.busea = a.bu_name group by b.busea)

    from 부서코드 a



    맞나 모르겠네요 ?



    제 경우엔 서브쿼리를 from절에는 사용하지 않거든요. 원하시는 답변이길

    바랍니다.



    그럼... 즐코되세요...

  • Profile
    손용석 2001.01.31 19:15
    부족하나마 몇자 적어 보겠습니다...~~!!



    SELECT A.BU_NAME, A.BU_TO, B.CNT

    FROM 부서코드 A, (SELECT BUSEA, COUNT(*) AS CNT FROM 개인기초 GROUP BY BUSEA) B

    WHERE A.BU_NAME=B.BUSEA



    1. WHERE절에 조인 할려면 BUSEA가 FROM절 부질의 안에 포함되어 있어야 되지 않나여~~??!!



    2. COUNT(*) AS CNT 처럼 AS 를 빼먹지 않았나여~~!!??

    (뭐 빼 먹어도 대부분 잘 돌아가지만...-.-;)



    위의 질의는 돌기는 하겠지만 중복행이 나오지 않을까여~~!!

    그리고 질의 결과가 원하는 값이 맞는지 모르겠네여...???



    많은 도움이 되었으면 좋겠네요~~~?!



    그럼 ^.^;





    김범수 wrote:

    > select a.bu_name,a.bu_to,b.cnt from 부서코드 a, (select count(*) cnt from 개인기초 group by busea)b where a.buname=b.busea;

    > 위의 문의 에러를 좀 잡아주십시요. count문의 사용이 영.........

  • Profile
    김재억 2001.01.31 18:57
    제가 보기에는요.. where절의 a.buname=b.busea 절에서...

    b.busea 의 busea를 구하는 구문이 빠진것 같은데요?

    select count(*) cnt, busea busea from 개인기초 group by busea 라고 하셔야 할것 같은데요?



    김범수 wrote:

    > select a.bu_name,a.bu_to,b.cnt from 부서코드 a, (select count(*) cnt from 개인기초 group by busea)b where a.buname=b.busea;

    > 위의 문의 에러를 좀 잡아주십시요. count문의 사용이 영.........

  • Profile
    김범수 2001.01.31 19:12
    김재억 wrote:

    > 제가 보기에는요.. where절의 a.buname=b.busea 절에서...

    > b.busea 의 busea를 구하는 구문이 빠진것 같은데요?

    > select count(*) cnt, busea busea from 개인기초 group by busea 라고 하셔야 할것 같은데요?

    >



    select a.bu_name,a.bu_to,b.cnt from 부서코드 a, (select count(*) cnt from 개인기초 group by busea)b where a.bu_name=b.busea;

    설명을 하자면 부서코드에서 부서명, 부서적정인원을 가지고 오고

    개인기초에서 부서별 인원을 카운터해서 가지고 오는 구문입니다.

    다시 한번 보시고 답변바랍니다.

  • Profile
    김재억 2001.01.31 19:44
    제가 SubQuery에 약해서 그런지는 모르겠는데요...

    제가 그 동안 써온 SubQuery와 비교해봤을때 아무리 봐두요..

    where a.bu_name = b.busea 라는 구문이 있는데...

    b.busea를 구하는 select문이 없잖아요? 글쵸?

    b를 구하는 구문엔 cnt Alias를 구하는것만 있는데요...

    busea를 Where절에서 비교하려면 SubQuery에서도 당연히 구해야 하는걸로 알고 있는데...

    아닌가요?

    제가 잘 몰랐다면 죄송합니다.

    수고하십시오.



    김범수 wrote:

    > 김재억 wrote:

    > > 제가 보기에는요.. where절의 a.buname=b.busea 절에서...

    > > b.busea 의 busea를 구하는 구문이 빠진것 같은데요?

    > > select count(*) cnt, busea busea from 개인기초 group by busea 라고 하셔야 할것 같은데요?

    > >

    >

    > select a.bu_name,a.bu_to,b.cnt from 부서코드 a, (select count(*) cnt from 개인기초 group by busea)b where a.bu_name=b.busea;

    > 설명을 하자면 부서코드에서 부서명, 부서적정인원을 가지고 오고

    > 개인기초에서 부서별 인원을 카운터해서 가지고 오는 구문입니다.

    > 다시 한번 보시고 답변바랍니다.