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
운영게시판
최근게시물
Informix Q&A 2061 게시물 읽기
No. 2061
sql 문 합산 조인이 궁금합니다.
작성자
신희
작성일
2004-10-08 00:41ⓒ
2004-10-08 00:49ⓜ
조회수
6,201

1. aa 테이블 : yy      per_no       name_h       sum (키값: yy, per_no)

                 2004      100           홍길동          15

                 2004      101            춘향이          6

                 2004      102            심청이         18.5

 

 

2. bb 테이블:  yy    sno     per_no      name_h      cnt (키값: yy, per_no, sno)

                  2004    1         100         홍길동     2.0

                  2004    2         100          홍길동     1.5

                  2004    3         100         홍길동       3.0

                  2004    1          101        춘향이        2.0

                 2004     2          101          춘향이       1.0

                 2004     1          102          심청이       3.5

 

 

1번과 2번의 테이블 조인을 하고 싶습니다.

1번: select sum from aa where pno='100' - 2번: select sum(cnt) from bb where yy='2004' and per_no='100'

X = 15 - 6.5

이런 형태로 sql 문을 만들고 싶은데 잘 안되는군요.

이런형태로 1번을 기준으로 하여 2번을 빼야 합니다. 2번에는 값이 없을수도 있구요. 1번에는 반드시 개인별 값이 있습니다.

X = 1번값 - 0 (2번에 값이 없을경우)

이런 형태가 됩니다.

개인별로 X = 1번 테이블 - 2번 테이블 이렇게 값을 구하고 싶은데...도와주세요..

 

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

전 infomix사용자는 아닙니다^^

구냥 우호적인 차원에서 ^^

안되는 함수가 있는지,쿼리가 있는지 모르겠습니다.

 

select a.yy,a.per_no,a.value,nvl(z.vsum,0)
  from a , (select yy, per_no, sum(nvl(value,0)) as vsum
                from b
                group by yy,per_no) z
 where a.yy     = z.yy (+)
    and a.per_no = z.per_no (+)

 

해보시고 안되시면 짜증내세요^^

나두초보님이 2004-10-08 10:13에 작성한 댓글입니다. Edit

select a.yy, a.per_no, sum(b.sum - a.cnt) as tot
  from table(multiset(
                  select yy, per_no, sum(cnt) cnt

                    from bb
                  group by 1,2)) a, aa b
 where b.yy = a.yy
    and b.per_no = a.per_no
 group by 1,2

 

==> 결과

 yy    per_no     tot

2004    100        8.5

2004    101          3

2004    102         15

나이스가이님이 2004-10-12 10:16에 작성한 댓글입니다.
이 댓글은 2004-10-12 10:18에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2064초로계산된 시간을 datetime 형으로 바꿀수 있나요??
rina
2004-10-13
6651
2063답변부탁드려요... [1]
jun
2004-10-11
5743
2062급!급!급![질문] Informix 리눅스용 어디서 구하나요? [1]
김찬수
2004-10-11
6110
2061sql 문 합산 조인이 궁금합니다. [2]
신희
2004-10-08
6201
2060[질문]대량의 데이터를 페이징을 하려면 어떻게 해야 할까요?
안티인포믹스
2004-10-05
6077
2059FIRST 키워드 관련 문의 [2]
yi
2004-10-05
7000
2058sdk설치관련
염승열
2004-10-05
5942
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2022 DSN, All rights reserved.
작업시간: 0.066초, 이곳 서비스는
	PostgreSQL v14.2로 자료를 관리합니다