마일리지를 가져올때 milage 테이블에 업데이트를 시키고 값을 가져오고 있는데 이렇게 하지말고 mileage_history의 값을 매번 더하고 빼서 가져와보자.쿼리를 확인해보자.
select userid, sum(mileage_plus)-sum(mileage_minus) from mileage_history group by userid ;
이렇게하면 사용자별로 마일리지를 가져올 수 있다. 그런데 이 값을 매번 이렇게 쿼리를 날려서 가져오지 말고 이 값들을 저장하고 있는 VIEW를 만들어 보자.
mysql의 view를 이용하면 자주 사용하고 값이 유동적인 테이블의 값들을 원하는 쿼리로 만들어서 사용할수 있다. 위의 쿼리로 view를 만들어보자.
create view user_mileage as
select userid, sum(mileage_plus)-sum(mileage_minus) from mileage_history mh group by userid ;
view를 만드는 법은 아주 간단하다. 중복된 view이름만 없으면 등록할 수 있다. 이제 view를 쿼리해보자.
select * from user_mileage ;
이렇게 하면 맨 처음에 적어 둔 mileage_histoty에서 값을 가져오는 결과값과 똑같은 값이 나오는 것을 확인할 수 있다. 물론 mileage_history 테이블에 새로운 값이 들어오거나 수정이 되면 실시간으로 반영된다. 그런 테스트는 직접 해보자. 내가 된다고 하니 되겠지 하지 말고 직접 꼭 확인해 보도록 하자.
'PHP강좌 > 쇼핑몰만들기강좌' 카테고리의 다른 글
php+mysql 쇼핑몰 만들기 강좌 - #37. Ajax가 잘 작동하는지 확인해보자. feat.개발자도구 (0) | 2022.09.21 |
---|---|
php+mysql 쇼핑몰 만들기 강좌 - #36. 장바구니에서 쿠폰 적용하기. (1) | 2022.09.21 |
php+mysql 쇼핑몰 만들기 강좌 - #35. 회원가입시 중복체크, 쿠폰발급시 중복체크 (1) | 2022.09.19 |
php+mysql 쇼핑몰 만들기 강좌 - #34. 장바구니에서 제품 삭제 (0) | 2022.09.14 |
php+mysql 쇼핑몰 만들기 강좌 - #33. 마일리지의 사용 (0) | 2022.09.13 |