Skip to content
Advertisement

Group by using linked tables

I have linked tables. Calls and Call Lines, both tables have a seperate ‘Call Type’ field, I am trying to get the number of calls and the number of call lines which were added on a certain date and then see the split for the types. The below query returns the number for each Call Line which was added, but shows a blank space for Calls which were added. Is there a way to use a link in a 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 

This returns the following result:

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

The first result of 2 are from calls not call lines, can I link these to show the type for these as well?

Advertisement

Answer

I think you want to count a column in Calls, so the query should be:

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 ;

This will not eliminate the row, but from what you say, the count will be zero.

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement