결제 - 결제번호 | 결제시간 | 결제금액 | 주문번호 | 결제날짜 | 비고
고객 - 전화번호 | 주소 | 마일리지
직원 - 직원번호 | 이름 | 주소 | 전화번호 | 월 | 급여
직원근태 – 번호 | 직원번호 | 출근시간 | 퇴근시간 | 비고
메뉴 - 메뉴명 | 판매가격
주문 - 주문번호 | 주문날짜 | 직원번호 | 전화번호 | 결제여부 | 테이블번호
주문_내역 - 메뉴명 | 주문번호 | 주문날짜 | 수량 | 주문시간
테이블은 이렇고요
SELECT 결제.결제날짜, COUNT(주문.주문번호) AS "주문횟수",
(SELECT SUM(결제금액) FROM 결제 WHERE 결제수단 = '1' GROUP BY 결제날짜) AS "카드",
(SELECT SUM(결제금액) FROM 결제 WHERE 결제수단 = '0' GROUP BY 결제날짜) AS "현금",
(SELECT SUM(결제금액) FROM 결제 GROUP BY 결제날짜) AS "총매출"
FROM 결제, 주문
WHERE 주문.주문번호 = 결제.주문번호
AND 주문.결제여부 = '1'
GROUP BY 결제.결제날짜
ORDER BY 결제.결제날짜 DESC;
이렇게 했는데 subquery returns more than row1 이렇게 에러가 뜨는데 어떻게 해결해야할까요?
결과는 이렇게 알고 싶습니다.
날짜 주문횟수 카드 현금 매출
2013-05-06 24 400000 500000 900000
2013-05-07 21 350000 0 350000
Comment 1
-
건우아빠
2013.06.10 13:24
서브쿼리로 결제 금액을 가저오는 부분에 보시면 날짜별 전체 결제 내역을 나오게 되어 있습니다.
이 경우는 서브쿼리에 주문번호를 조회 조건에 넘기시면 되고 이 경우는 굳이 group by를 쓰지 않으시고 합만 표현 해도 됩니다.