Table structures
Table Products :
=============================================
ID | Store | Type | Cost | NetCost |
=============================================
1 |102 | 0 |14.95 | 29.65
2 |103 | 1 |13.95 | 32.65
3 |104 | 2 |12.36 | 42.12
4 |105 | 3 |10.24 | 23.11
5 |106 | 4 |19.57 | 27.16
6 |102 | 0 |57.26 | 26.98
7 |103 | 3 |43.26 | 26.98
8 |104 | 4 |10.26 | 26.98
9 |105 | 1 |9.26 | 26.98
10 |105 | 5 |11.26 | 46.98
Same table separated into two tables by Type
Premium products : Type = (0, 1, 2)
Basic products : Type = (3, 4, 5)
Table Products : Products with Type (0,1,2)
=============================================
ID | Store | Type | Cost | NetCost |
=============================================
1 |102 | 0 |14.95 | 29.65
2 |103 | 1 |13.95 | 32.65
3 |104 | 2 |12.36 | 42.12
6 |102 | 0 |57.26 | 26.98
9 |105 | 1 |9.26 | 26.98
Table Products : Products with Type (3,4,5)
=============================================
ID | Store | Type | Cost | NetCost |
=============================================
4 |105 | 3 |10.24 | 23.11
5 |106 | 4 |19.57 | 27.16
7 |103 | 3 |43.26 | 26.98
8 |104 | 4 |10.26 | 26.98
10 |105 | 5 |11.26 | 46.98
(자체 가입 테이블) 조인에 여러 개의 하위 쿼리를 변환합니다.이내가, 카운트 스토어로 그룹화 유형을 기반으로하는 모든 제품에 대한 비용과 NetCost 합계를
Table of totals: (B = Basic, P= Premium)
=================================================================
Store | B Cnt |B Cost | B NetCost | P Cnt | P Cost | P NetCost |
=================================================================
102
103
104
105
106
나는 아래의 하위 쿼리와 마스터 쿼리를 사용하여 위를 달성 할 수있는, 더 효율적인 가입 (가입 테이블 자체 등으로) 나는 할 수있다 : 결과는 다음과 같아야합니다 위의 표 (합계)를 달성 할 것인가?
SELECT
count(*)
FROM
Products prod_prem
WHERE
(prod_prem.Type = 0 OR prod_prem.Type = 1 OR prod_prem.Type = 2)
SELECT
SUM(Cost),
FROM
Products prod_prem
WHERE
(prod_prem.Type = 0 OR prod_prem.Type = 1 OR prod_prem.Type = 2)
SELECT
SUM(NetCost)
FROM
Products prod_prem
WHERE
(prod_prem.Type = 0 OR prod_prem.Type = 1 OR prod_prem.Type = 2)
SELECT
count(*)
FROM
Products prod_basic
WHERE
(prod_prem.Type = 3 OR prod_prem.Type = 4 OR prod_prem.Type = 5)
SELECT
SUM(Cost),
FROM
Products prod_basic
WHERE
(prod_prem.Type = 3 OR prod_prem.Type = 4 OR prod_prem.Type = 5)
SELECT
SUM(NetCost)
FROM
Products prod_basic
WHERE
(prod_prem.Type = 3 OR prod_prem.Type = 4 OR prod_prem.Type = 5)
이것은 훨씬 깨끗해 보이고 이해할 수있는 것처럼 보입니다. 나중에 나중에 시도해보고 효과가 있으면 답을 수락합니다. 그레시아. – Fabii