Запрос T-SQL не группирует результаты в выводе - PullRequest
0 голосов
/ 16 октября 2018

У меня есть следующий запрос, встроенный в хранимую процедуру

select u.UserName, s.Name, count(i.id) as NumberAccounts, sum(i.total) as CCTotal
  from invoice i 
    inner join visit v on v.id = i.id
    inner join branch b on b.id = v.branchid
    inner join practice p on p.id = b.practiceid
    inner join visitscheme vs on vs.id = v.id
    inner join [plan] pl on pl.id = vs.planid
    inner join scheme s on s.id = pl.schemeid
    inner join creditcontrol cc on cc.SchemeId = s.id
    inner join [user] u on u.id = cc.userid
 where p.APIKey = @pracId
   and (u.id = @CCid OR @CCId = '999999')
   and (s.id = @SchemeId or @SchemeId = 999999)
 group by u.UserName, s.Name
 order by u.username

Когда я запускаю его вместо того, чтобы сгруппировать результаты по имени пользователя и схеме, я получаю следующее

UserName    Name    NumberAccounts  CCTotal
chanel   BANKMED    9954            11882514.19
ciske    BANKMED    9954            11882514.19
Estee    BANKMED    9954            11882514.19
Feroza   BANKMED    9954            11882514.19

Нет группировкиприменяется одинаковые значения в каждом.Кто-нибудь знает, где я иду не так?

Спасибо

1 Ответ

0 голосов
/ 16 октября 2018

просто напишите так ....

select u.UserName, s.Name, count(i.id) as NumberAccounts, sum(i.total) as CCTotal
  from invoice i 
    inner join visit v on v.id = i.id
    inner join branch b on b.id = v.branchid
    inner join practice p on p.id = b.practiceid and p.APIKey = @pracId
    inner join visitscheme vs on vs.id = v.id
    inner join [plan] pl on pl.id = vs.planid
    inner join scheme s on s.id = pl.schemeid and (s.id = @SchemeId or @SchemeId = 999999)
    inner join creditcontrol cc on cc.SchemeId = s.id
    inner join [user] u on u.id = cc.userid and (u.id = @CCid OR @CCId = '999999')
 group by u.UserName, s.Name
 order by u.username

при условии, что ваши объединения верны

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...