Технологии

Вопрос по sql join. values (1), (2), (3), (4), (5); create table - вопрос №4569180

SQL код:
create table claim(ClaimID int);

insert into claim (ClaimID)
values (1), (2), (3), (4), (5);

create table tbl1(ClaimID int, Amnt float);

insert into tbl1 (ClaimID, Amnt)
values (1, 10),
(2, 20),
(2, 20),
(3, 30);

create table tbl2(ClaimID int, Amnt float);

insert into tbl2 (ClaimID, Amnt)
values (1, 10),
(1, 10),
(4, 40),
(3, 30);

select c.claimid, count(tbl1.claimid), count(tbl2.claimid)
from claim c
inner join tbl1 on c.claimid = tbl1.claimid
left join tbl2 on c.claimid = tbl2.claimid
group by tbl1.claimid, tbl2.claimid
;

Результат: 1|2|2
2|2|0
3|1|1
Вопрос: почему count(tbl1.claimid) возвращает 2 а не 1? Спасибо!

декабрь 13, 2021 г.

  • Всего ответов: 0