SELECT
SUM(c.billsec/60) AS ttime,
COUNT(c.uniqueid) AS tcalls,
CONCAT(e.FIRST_NAME, ' ', e.SECOND_NAME) AS emp,
IF( c.userfield = '', c.src, c.userfield) AS ext
FROM
cdr c
LEFT JOIN
extentions x ON (c.src=x.channel OR c.userfield=x.extention)
LEFT JOIN
employee e ON (e.extention=c.src OR e.extention=c.userfield)
WHERE
c.lastapp = ?
AND
c.disposition = ?
AND
c.accountcode LIKE ?
AND
((c.src BETWEEN ? AND ? ) OR (c.userfield BETWEEN ? AND ?))
AND
(c.calldate BETWEEN ? AND ?)
GROUP BY IF( c.userfield = '', c.src, c.userfield )