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
운영게시판
최근게시물
MySQL Q&A 30328 게시물 읽기
No. 30328
left join sum 하기 중복제거
작성자
김양훈(yanghun72)
작성일
2012-09-20 13:38
조회수
12,215

A 데이블                                                  

tn_no       ku_no       su1                      

    1               1           15

    1               1           20

   1               2            5

 

B 데이블   

  tn_no         ku_no      su2

    1                  1             30

     1                 2              3

 

내가 원하는 결과값

     tn_no         ku_no           su1              su2

       1                    1                35               30

       1                    2                 5                   3

 

select   a.tn_no,a.ku_no,sum(a.su1) ,sum(b.su2)   from   table1   a

left   join  table2 b  on (a.tn_no=b.tn_no  and a.ku_no=b.ku_no)

group by a.tn_no,a,ku_no

 

이렇게 하니까

tn_no       ku_no            su1           su2

  1                    1                35                60             <---   (  30+30)     중복됨

  1                    2                 5                   3

 

문제해결방법이  있는것 같은데  부탁드립니다

지금은    두번처리하구 있읍니다    속도가 너무 느려서요   부탁드립니다..

 

 

 

 

 

 

 

 

 

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

select t1s.tn_no, t1s.ku_no, t1s.su1, c.su2

from
(
select   a.tn_no,a.ku_no,sum(a.su1) as su1    from   table1   a
left   join  table2 b  on (a.tn_no=b.tn_no  and a.ku_no=b.ku_no)
group by a.tn_no,a,ku_no
) as t1s
left join table2 c ON ( t1s.tn_no=c.tn_no  and t1s.ku_no=c.ku_no)
;
 
우욱님이 2012-09-20 15:31에 작성한 댓글입니다. Edit

left측 자료가 이미 N개의 로를 가지므로,  거기에 의존하는 오른쪽 테이블에서 뜻하지 않은 데이타 중복이 발생 할수 있습니다. 따라서, left에 있는 테이블을 먼저 정리해 주면 좋을것 같습니다.

 

 select t1.tn_no, t1.ku_no, t1.su1, sum(t2.su2) from

 (select tn_no, ku_no, sum(su1) su1 from table1 group by 1,2) as t1

left outer join table2 t2

on t1.tn_no=t2.tn_no and t1.ku_no=t2.ku_no

group by 1,2;

 
lnx4u님이 2012-11-07 22:13에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
30332innodb 테이블당 개별 TableSpace 생성할 경우 질문입니다. [2]
나그네
2012-10-05
11796
30330My.ini 설정에 관하여 질문 드리겠습니다 ^^ [2]
최병길
2012-09-25
9871
30329조인 알고리즘 관련 질문 [3]
정호영
2012-09-24
9084
30328left join sum 하기 중복제거 [2]
김양훈
2012-09-20
12215
30327mysql 커서 질문입니다.
김현철
2012-09-20
8938
30326load data infile 사용시 변수사용 방법
이중희
2012-09-18
8387
30325Not Null 로 했는데 데이타가 들어 가는 문제 문의 입니다 [1]
조대길
2012-09-15
8611
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다