Q&A

  • 검색후 검색값에 따라 하나의 필드값을 각각 나타내기
안녕하세요



하루정도 고민하면서 알아봤는데 무언가 잘못하고 있는 것인지 잘되지 않아서



질문드립니다.



다름이 아니라 아래와 같은 구문을 한꺼번에



동시에 날려서 결과값을 하나의 DBGrid에 나타낼려고 하는데 방법을 잘 모르겠네요



이렇게 하려는 이유는 구분01,02,03,04를 가지고 추가로 임시 메모리테이블을 만들어서



그곳에 각자(구분01,02,03,04)에 딸린 상세정보들을 가지고 오려고 하는데



여기서 막히네요



뒷부분에 세미콜론(;)을 붙이면 어느분이 하던데 잘되지 않아서요



급한거라서 그런데 여러 고수님들께서 조언을 좀 해주셨으면 감사하겠습니다.



select '구분01' kubun, code, name from JobTable where code in ('0330', '0001')

select '구분02' kubun, code, name from JobTable where code in ('0000', '0001')

select '구분03' kubun, code, name from JobTable where code in ('0000', '0001')

select '구분04' kubun, code, name from JobTable where code in ('0000', '0001')







2  COMMENTS
  • Profile
    김운필 2000.01.02 18:29
    김홍섭 wrote:

    > 안녕하세요

    >

    > 하루정도 고민하면서 알아봤는데 무언가 잘못하고 있는 것인지 잘되지 않아서

    >

    > 질문드립니다.

    >

    > 다름이 아니라 아래와 같은 구문을 한꺼번에

    >

    > 동시에 날려서 결과값을 하나의 DBGrid에 나타낼려고 하는데 방법을 잘 모르겠네요

    >

    > 이렇게 하려는 이유는 구분01,02,03,04를 가지고 추가로 임시 메모리테이블을 만들어서

    >

    > 그곳에 각자(구분01,02,03,04)에 딸린 상세정보들을 가지고 오려고 하는데

    >

    > 여기서 막히네요

    >

    > 뒷부분에 세미콜론(;)을 붙이면 어느분이 하던데 잘되지 않아서요

    >

    > 급한거라서 그런데 여러 고수님들께서 조언을 좀 해주셨으면 감사하겠습니다.

    >

    > select '구분01' kubun, code, name from JobTable where code in ('0330', '0001')

    > select '구분02' kubun, code, name from JobTable where code in ('0000', '0001')

    > select '구분03' kubun, code, name from JobTable where code in ('0000', '0001')

    > select '구분04' kubun, code, name from JobTable where code in ('0000', '0001')

    >

    >

    >



    안녕하세요..

    지나가던 델피언 김운필입니다.

    저도 그런경우를 처리해 봤는데..

    Sql 한 문장으로 처리되더군요..

    저는 SQl Server 6.5를 쓰고 있거든요.

    MS SQl 에서는 CASE..when .. then .. else .. end,

    라는 문장이 있거든요.

    얻고자 하는 결과를 SQL 문자으로 써보면



    select 'kubun' = case code when '0330' then '구분01'

    when '0001' then '구분01'

    when '0002' then '구분02'

    when '0003' then '구분03'

    else '기타' end,

    code,

    name

    from JobTable



    여기까지 입니다.



    다른 db를 쓰신다면 위와 같은 기능이 있는지 한번 찾아보세요.



    원하시는 답변이 되었는지요...



  • Profile
    혀노 1999.12.31 00:47
    질문에 맞는 답변인지 잘 모르겠지만요,,,,



    if 문을 사용해서 조건에 따른 SQL구문을 생성하도록 해보세요,,,



    if code = '0330' or code = '0001' then

    Sql.Text := 'select '구분01' kubun, code, name from JobTable '+

    'where code in ('0330', '0001') '

    else if code = '0000' or code = '0001' then

    Sql.Text := 'select '구분02' kubun, code, name from JobTable '+

    'where code in ('0000', '0001') ';



    이런씩으로요,,,,,





    김홍섭 wrote:

    > 안녕하세요

    >

    > 하루정도 고민하면서 알아봤는데 무언가 잘못하고 있는 것인지 잘되지 않아서

    >

    > 질문드립니다.

    >

    > 다름이 아니라 아래와 같은 구문을 한꺼번에

    >

    > 동시에 날려서 결과값을 하나의 DBGrid에 나타낼려고 하는데 방법을 잘 모르겠네요

    >

    > 이렇게 하려는 이유는 구분01,02,03,04를 가지고 추가로 임시 메모리테이블을 만들어서

    >

    > 그곳에 각자(구분01,02,03,04)에 딸린 상세정보들을 가지고 오려고 하는데

    >

    > 여기서 막히네요

    >

    > 뒷부분에 세미콜론(;)을 붙이면 어느분이 하던데 잘되지 않아서요

    >

    > 급한거라서 그런데 여러 고수님들께서 조언을 좀 해주셨으면 감사하겠습니다.

    >

    > select '구분01' kubun, code, name from JobTable where code in ('0330', '0001')

    > select '구분02' kubun, code, name from JobTable where code in ('0000', '0001')

    > select '구분03' kubun, code, name from JobTable where code in ('0000', '0001')

    > select '구분04' kubun, code, name from JobTable where code in ('0000', '0001')

    >

    >

    >