2026, 새로운 도약을 시작합니다.

두 테이블을 하나처럼.. 채택완료

선생님들 안녕하세요

mysql 쿼리문에대해서 질문이있습니다...

예를들어 g5_point 테이블 량이 많아 g5_point_backup테이블로 압축을 하여 옮겼을때..

조회할때는 두테이블을 합쳐서 하나의 테이블처럼 만들고 조회를 하고 싶은데 

이때 사용하는게 union all이 맞나요..?

union all을 사용해보았는데,

Copy


select sum(po_point) as sum from g5_point union all select sum(po_point) as sum from g5_point_backup where mb_id = "admin"

이런식으로 조회를 하면 결과값이 두개로 나와서... 두테이블의 sum이 한번에 나오게하고싶을때는 어떻게하면 좋을까요..?

조언 부탁드립니다 ㅠ.ㅠ

답변 5개

채택된 답변
+20 포인트

두개의 테이블의 레코드가 중복이 아니라.

분할의 내용을 담고있는것이라면

Copy


select sum(po_point) as sum from 

  (

   select * from g5_point a

   union all 

   select * from g5_point_backup b

  ) aa

와 같이 접근해보세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

select sum(po_point) as sum from

( Select po_point from g5_point

where mb_id = "admin"

union all select po_point  from g5_point_backup where mb_id = "admin") All

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

중복된 데이터를 하나로 합치심이 좋을거 같습니다.

아래와 같이 중복을 제거하여 업데이트 하심이 좋아보이네요.

update table2 set `holiday`=1 where exists 

(select * from table1 where table1.date = table2.date)

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

필요한 것이 합계"라면

g5_point_backup의 회원별 합계를 

g5_point에 추가해 주시면 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

선생님 답변 감사드립니다!
join에대해서 질문하나만 드려도될까요 ..?
두테이블에서 5월달 합산을 구하고싶을때
select sum(po_point) as sum from g5_point a join g5_point_backup b where a.po_datetime like "2023-05%" or b.po_datetime like "2023-05%" 이런식으로 해보았는데....
po_point가 모호하다고 하는데..
어떤식으로 조회를 해야하는건가용..?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고