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
운영게시판
최근게시물
MS-SQL Q&A 994 게시물 읽기
No. 994
outer join에 대해서요..
작성자
나그네
작성일
2003-10-21 18:19ⓒ
2003-10-21 18:20ⓜ
조회수
4,246

TableA에 test아이디로 데이타가  4건이 있습니다..

TableB에는 test아이디로 테아타가 2건이 있습니다.

 

TableA에서 test아이디로 두개의 컬럼값(idea_point, idea_point2)을 합산하면 40이거던요.

그리고 TableB에서 test아이디로 컬럼값(mile_point)합산하면 40인데...아래의 커리문을 실행하면

결과값이 ..

80 , 80

이렇게 나옵니다..

원하는 답은

40, 40 이거던요..

 

아무래도 커리문에 문제가 있는것 같은데..아직 디비에 서툴러서요..

고수님들이 한번 살펴 봐 주세요..

 

select  sum( a.idea_point + a.idea_point2) ,sum(b.mile_point) from TableA as a left outer join TableB as b on (a.idea_id=b.idea_id)
where a.idea_id='test' and  b.idea_id='test'  and a.idea_point >= 0 and a.idea_point2 >= 0

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

올려 주신 내용으로 보기에는, 현재의 조인 조건으로는 inner join과

동작을 하게 됩니다. 조인 조건의 변경이 있어야 하는데, 이 부분은

테이블 구조를 알 수 없기 때문에 이것을 고치라고 말씀드릴 수 없고요.

원하시는 것이 각 테이블에서 관련 id의 합계를 가져오는 것이라면,

아래와 같은 Query를 이용해 보시는 것도 좋을 것 같습니다.

 

select (select  sum (idea_point+ idea_point2)
                 from TableA

                 where id='test'
                      and idea_point >=0  and  idea_point2 >=0
      ) as idea_point
,(select  sum (mile_point)
                 from TableB

                 where id='test'
      ) as mile_point

   

가을남자님이 2003-10-22 10:40에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
997db 복구 문제 좀 봐 주세요.
거북이
2003-10-24
3851
996퍼스널 에디션이 엔터프라이즈 에디션 어디에 있나요? [2]
김권석
2003-10-23
3065
995확장자가 dsn인 파일은 도대체 어떤 프로그램에서 만들어진건지 궁금합니다. [1]
데이타맨
2003-10-22
3450
994outer join에 대해서요.. [1]
나그네
2003-10-21
4246
993프로시져 사용에 대해.... [1]
수호신
2003-10-20
3215
991[질문] NOT NULL을 줬는데도 데이터에 NULL 이.. -_-; [1]
craveu
2003-10-17
3408
990다른 인스턴스에 있는 디비 접근
신호
2003-10-17
2829
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다