2개만 묶어서 할때는 결과가 잘나오는데,
3개 조인할때 중복되면서 원하는 결과가 안나옵니다 도와주세요.
테이블구조 no는 일련번호 auto_increment
tA tB tC
-------- -------- --------
no key no key no key
-------- -------- --------
1 1 1 1 1 3
2 1 2 1 2 3
3 2 3 1 3 1
4 3 4 2 4 2
-------- 5 2 --------
--------
원하는 결과값
key count(b.no) count(c.no)
-------------------------------
1 3 1
2 2 1
3 0 2
-------------------------------
해본 쿼리 이거랑 비슷하게 이것저것 해봤는데 안됩니다.
select a.key, count(b.no), count(c.no) from tA
left join tB on tB.key=tA.key
left join tC on tC.key=tA.key
group by a.key
create table tA(
`no` integer not null auto_increment,
`key` integer not null default 1,
primary key(`no`));
insert into tA(key) values(1),(1),(2),(3);
create table tB(
`no` integer not null auto_increment,
`key` integer not null default 1,
primary key(`no`));
insert into tA(key) values(1),(1),(1),(2),(2);
create table tC(
`no` integer not null auto_increment,
`key` integer not null default 1,
primary key(`no`));
insert into tA(key) values(3),(3),(1),(2);
|