Q&A

  • 저의쿼리를봐주세요..부탁!!
만약에 다음과 같이 쿼리를 했다면....



select 사번,이름,국어,영어,국어/영어 from 성적



국어에서 영어를 나눠서 새로운 필드가 생성되겠죠...

그런데...국어의값은100 이고...영어의 값은 0 이기때문에...

위와 같은 쿼리에서는 에러가 생기거든요...

영어의 값이 0 일때는 결과 값을 0 으로 돌릴 수 있는 방법이

있을까요...???

있었으면 좋겠는데...



쿼리의 고수님들의 한수 가르침을 부탁드립니다.



감사합니다.

2  COMMENTS
  • Profile
    김영대 1999.10.01 21:54
    memogi wrote:

    > 만약에 다음과 같이 쿼리를 했다면....

    >

    > select 사번,이름,국어,영어,국어/영어 from 성적

    >

    > 국어에서 영어를 나눠서 새로운 필드가 생성되겠죠...

    > 그런데...국어의값은100 이고...영어의 값은 0 이기때문에...

    > 위와 같은 쿼리에서는 에러가 생기거든요...

    > 영어의 값이 0 일때는 결과 값을 0 으로 돌릴 수 있는 방법이

    > 있을까요...???

    > 있었으면 좋겠는데...

    >

    > 쿼리의 고수님들의 한수 가르침을 부탁드립니다.

    >

    > 감사합니다.



    PARADOX 쓰시죠 ?

    ORACLE이라면 DECODE() 함수를 쓰면 쉽게 되지만...



    PARADOX에서 UNION 이 되던가요 ?

    된다면

    select 사번,이름,국어,영어,국어/영어

    from 성적

    where 영어 <> 0

    union

    select 사번,이름,국어,영어,0

    from 성적

    where 영어 = 0

    order by 1



    어째 PARADOX에 UNION 이 없을것 같은 불길함이...





  • Profile
    삶지기 1999.10.01 20:32
    memogi wrote:

    > 만약에 다음과 같이 쿼리를 했다면....

    >

    > select 사번,이름,국어,영어,국어/영어 from 성적

    >

    > 국어에서 영어를 나눠서 새로운 필드가 생성되겠죠...

    > 그런데...국어의값은100 이고...영어의 값은 0 이기때문에...

    > 위와 같은 쿼리에서는 에러가 생기거든요...

    > 영어의 값이 0 일때는 결과 값을 0 으로 돌릴 수 있는 방법이

    > 있을까요...???

    > 있었으면 좋겠는데...

    >

    > 쿼리의 고수님들의 한수 가르침을 부탁드립니다.

    >

    > 감사합니다.

    안녕하세요.

    아시겠지만 100을 0으로 나누면 무한대가 나옵니다.

    그래서 에러가 난거 같군요.

    또 국어/영어의 필드 타입이 무엇인지 궁금하네요.그것도 의심이 가구요.

    무한대인데 타입을 정수같은걸로 주면 당근 에러죠.

    제 생각에는

    간단하게 if문으로 영어의 값이 0이면 아래의 코드를 넘어 다른 코드를 실행하시는게

    좋을듯 싶습니다. 조금이나마 도움이 되었으면 좋겠네요. 그럼 이만

    select 사번,이름,국어,영어,국어/영어 from 성적