Hey @miraclefren2,
The below SQL statement will get you what you need. However, It will be very taxing on your database resources.
; WITH temp AS
(SELECT DISTINCT (RN_TESTER_NAME) As 'Tester',
(SELECT COUNT(*)
FROM td.RUN
WHERE RN_TESTER_NAME = rn.RN_TESTER_NAME AND
datediff(day, RN_EXECUTION_DATE, '01/08/2016') = 0 AND
RN_STATUS IN ('Passed', 'Failed')) As 'Date1',
(SELECT COUNT(*)
FROM td.RUN
WHERE RN_TESTER_NAME = rn.RN_TESTER_NAME AND
datediff(day, RN_EXECUTION_DATE, '01/09/2016') = 0 AND
RN_STATUS IN ('Passed', 'Failed')) As 'Date2',
(SELECT COUNT(*)
FROM td.RUN
WHERE RN_TESTER_NAME = rn.RN_TESTER_NAME AND
datediff(day, RN_EXECUTION_DATE, '01/10/2016') = 0 AND
RN_STATUS IN ('Passed', 'Failed')) As 'Date3'
FROM td.RUN rn)
SELECT Tester As 'Tester Name',
Date1 As '01/08/2016',
Date2 As '01/09/2016',
Date3 As '01/10/2016',
Date1 + Date2 + Date3 As 'Total'
FROM temp
Since all of the data comes from a single table (Run table), I would instead recommend a simpler statement to pull only the rows and columns that you need and using a spreadsheet to provide the logic for the filters and counts. It may take a bit longer to set up initially, but won't crash your database or cause others to slow down while your report runs.
SELECT RN_TESTER_NAME, RN_EXECUTION_DATE, RN_STATUS
FROM td.RUN
WHERE RN_EXECUTION_DATE BETWEEN '2016/01/08' AND '2016/01/13' AND
RN_STATUS IN ('Passed', 'Failed')