(1)의 쿼리문을 수정해서
(2)의 결과물을 내려고 할때,
A테이블에는 PK가 하나, B테이블에는 PK가 두개가 있습니다.
b.money는 PK와 아무런 상관이 없습니다.
여기서 (2)에 추가시킨 count(b.money)가 일반적인 방법인지,아닌지,
알고 싶습니다.
------<쿼리>-------------------
(1)
select a.p, b.k, b.money
from A a, B b, C c
where ...
union
select max(a.p), max(b.k), sum(b.money)
from A b, B b, C c
where ....
group by a.p, b.k
(2)
select a.p, b.k, b.money
from A a, B b, C c
where ...
union
select max(a.p), max(b.k), sum(b.money), count(b.money)
from A b, B b, C c
where ....
group by a.p, b.k
--------<결과>-------------------
(1)
a.p |
b.k |
b.money |
1 |
A |
100 |
1 |
B |
200 |
2 |
A |
100 |
3 |
A |
200 |
a.p |
b.k |
b.money |
1 |
B |
300 |
2 |
A |
100 |
3 |
A |
200 |
(2)
a.p |
b.k |
b.money |
1 |
A |
100 |
1 |
B |
200 |
2 |
A |
100 |
3 |
A |
200 |
a.p |
b.k |
b.money |
count |
1 |
B |
300 |
2 |
2 |
A |
100 |
1 |
3 |
A |
200 |
1 |
----------------------------------------
|