두 테이블을 하나처럼..
본문
선생님들 안녕하세요
mysql 쿼리문에대해서 질문이있습니다...
예를들어 g5_point 테이블 량이 많아 g5_point_backup테이블로 압축을 하여 옮겼을때..
조회할때는 두테이블을 합쳐서 하나의 테이블처럼 만들고 조회를 하고 싶은데
이때 사용하는게 union all이 맞나요..?
union all을 사용해보았는데,
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
두개의 테이블의 레코드가 중복이 아니라.
분할의 내용을 담고있는것이라면
select sum(po_point) as sum from
(
select * from g5_point a
union all
select * from g5_point_backup b
) aa
와 같이 접근해보세요
!-->필요한 것이 합계"라면
g5_point_backup의 회원별 합계를
g5_point에 추가해 주시면 됩니다.
중복된 데이터를 하나로 합치심이 좋을거 같습니다.
아래와 같이 중복을 제거하여 업데이트 하심이 좋아보이네요.
update table2 set `holiday`=1 where exists
(select * from table1 where table1.date = table2.date)
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
답변을 작성하시기 전에 로그인 해주세요.