Группировать, используя связанные таблицы - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть связанные таблицы. Вызовы и Линии вызовов, в обеих таблицах есть отдельное поле «Тип вызова», я пытаюсь получить количество вызовов и количество линий вызова, которые были добавлены в определенную дату, а затем увидеть разделение для типов. Приведенный ниже запрос возвращает номер для каждой добавленной линии вызова, но показывает пустое пространство для добавленных вызовов. Есть ли способ использовать ссылку в Group By?

SELECT COUNT(dbo.CallLines.kblCallLineID) AS "Total Calls", dbo.CallLines.ukblCallType AS "ukblCallType"
FROM (dbo.CallLines
LEFT OUTER JOIN dbo.Calls ON dbo.CallLines.kblCallID = dbo.Calls.kbpCallID)
WHERE  dbo.CallLines.kblContactMethodID  =  'PHONE' AND dbo.CallLines.kblAddedDate  >  '{%Yesterday Date YYYYMMDD%}' AND dbo.CallLines.kblAddedDate  <  '{%Current Date YYYYMMDD%}' GROUP BY dbo.CallLines.ukblCallType 

Это возвращает следующий результат:

TOTAL CALLS  CALL TYPE
2              
1             Purch
6             Qte FU
1             Sales -OB
1             Support

Первый результат 2 из вызовов, а не линий вызова, может Я связываю их, чтобы показать их тип?

1 Ответ

0 голосов
/ 04 февраля 2020

Я думаю, что вы хотите посчитать столбец в Calls, поэтому запрос должен быть:

SELECT COUNT(c.kblCallLineID) AS "Total Calls", 
       cl.ukblCallType AS "ukblCallType"
FROM dbo.CallLines cl LEFT OUTER JOIN
     dbo.Calls c
     ON cl.kblCallID = c.kbpCallID
WHERE cl.kblContactMethodID =  'PHONE' AND
      cl.kblAddedDate  >  '{%Yesterday Date YYYYMMDD%}' AND
      cl.kblAddedDate  <  '{%Current Date YYYYMMDD%}'
GROUP BY cl.ukblCallType ;

Это не исключит строку, но из того, что вы говорите, счет будет нулевым.

...