database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 33176 게시물 읽기
No. 33176
초보적인 select 질문 하나 드립니다.
작성자
왕초보
작성일
2008-03-05 11:30ⓒ
2008-03-05 13:40ⓜ
조회수
1,456

안녕하세요!!


여기서 많은 도움을 받고 있는 왕초보입니다.


도움을 주시고 있는 분들께 다시한번 감사의 말씀을 드리며 오늘도 초보적인 질문 하나 드리겠습니다.


table A  (판매구분 1은 구매 , 2는 판매 입니다.)

================================================

     상품코드      상품명    판매구분        수량

================================================   

      00001          과자           1                50

      00001          과자           2                20

      00001          과자           1                10

      00013          초코렛        1                50

      00001          과자           2                20

      00013          초코렛        1                25


table B

================================================

               상품코드      상품명   

================================================   

                  00001          과자

                  00002           빵

                  00003          음료

                             .

                             .

                             .

                  00013          초코렛



위 두테이블이 있습니다.


여기서 제가 뽑을 값은


===================================================

상품코드     상품명        구매수량        판매수량

===================================================

00001           과자              60                40

00002            빵                 0                 0

00003           음료               0                 0

                              .

                              .

00013         초코렛             75                0       




이렇게 출력하고 싶은데요.....


select a.상품코드,

          a.상품명,

        decode(판매구분,1,sum(a.수량))  as "구매수량"

        decode(판매구분,2,sum(b.수량))  as "판매수량"

       

from tableA   a,

       tableB   b

 

where  a.상품코드 = b.상품코드 

group by a.상품코드,a.상품명

이런 식으로 하니깐....


===================================================

상품코드     상품명        구매수량        판매수량

===================================================

00001           과자              60               

00001           과자                                40

                              .

                              .

00013         초코렛             75                       

00013         초코렛                                    



이렇게 출력이 되어 지네요.....


금일 거래 안된 상품들의 구매수량도 0으로 표기해서 나타내고

같은 상품의 구매수량과 판매수량을 같은 행에 표기 하고 싶습니다.


그럼 조언좀 부탁 드리겠습니다.
























이 글에 대한 댓글이 총 6건 있습니다.

DECODE 앞에 SUM 해보세요

채용근(taiji97)님이 2008-03-05 12:08에 작성한 댓글입니다.

decode 앞에 sum을 하여면 상품코드가 단일그룹 함수가 아니라는 메세지가 뜨는데요..

제생각에는 select에서  같은 컬럼을 가지고 decode문을 두번 사용해서 판매구분을 나누다 보니  

판매든 구매든  둘중에 하나의 값이 있다면,

같은 상품코드의 행(?)을 새롭게 인식하여 두줄씩 출력 하는것 같습니다...

이걸 해결 할 방법이 있을까요??

왕초보님이 2008-03-05 12:40에 작성한 댓글입니다. Edit

sum(decode(판매구분,1,c.execqty))  as "매수주식수"

       sum( decode(판매구분,2,c.execqty))  as "매도주식수"

 

       

 

from tableA   a,

 

       tableB   b

 

 

 

where  a.상품코드 = b.상품코드 

group by a.상품코드,a.상품명

채용근(taiji97)님이 2008-03-05 13:22에 작성한 댓글입니다.

채용근님 일단 신경 써주셔서 감사하구요... 그런데...^^;


sum(decode(판매구분,1,b.수량))  as "구매수량"


이렇게 변경하여두 같습니다....


출력은 

===================================================

 

상품코드     상품명        구매수량        판매수량

 

===================================================

 

00001           과자              60               

 

00001           과자                                40

 

                                 .

 

00013         초코렛             75                       

 

00013         초코렛                     


이렇게 나오네요 구매든 판매든 판매구분(table A)라는 컬럼에 값이 들어가 있는것들은


같은 상품명끼리 각각 두행씩 생성이 됩니다...


판매따로 구매따로 생성이 되는거죠..^^; 간단한게 아닌것 같네요..


            

왕초보님이 2008-03-05 13:46에 작성한 댓글입니다. Edit

그룹바이절에 판매구분이 들어가있는게 아닐런지?

0님이 2008-03-05 13:56에 작성한 댓글입니다. Edit

0님 감사합니다.   그룹바이절에 판매구분이 들어가서 안되는거였네요....

판매구분을 삭제하니 해결이 되었네요..... 정말 감사요!!

이거 가지고 오전내내 헤메구 있었는데..^^;


그리고 채용근님도 감사 드립니다.


그럼 즐거운 하루 되세요!!!

왕초보님이 2008-03-05 14:01에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
33180날짜구간별 금액의 합계구하기 [1]
뱅뱅
2008-03-05
2912
33178delete 시 update를 할수있나요?? [1]
김민수
2008-03-05
1126
33177RAC구성에서 DB추가시...
쇼다운
2008-03-05
1470
33176초보적인 select 질문 하나 드립니다. [6]
왕초보
2008-03-05
1456
33175조건 수정이 가능한가요??
홍광표
2008-03-05
934
33174[질문] pro*c에서 배열에 fetch 할 때 힙과 스택 문제...
KS
2008-03-05
3165
33173언두 테이블스페이스 삭제에 관한 질문입니다.
younglee
2008-03-05
1168
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다