If I understand your requirement correctly, you would need something like this:
;With ID_TotalCount(Int_ID, Int_IDTotalCount)
AS
(
SELECT Int_ID, COUNT(Int_ID)
FROM dbo.tblData
GROUP BY Int_ID
),
ID_OpenCount(Int_ID, Int_IDOpenCount)
AS
(
SELECT Int_ID, COUNT(Int_ID)
FROM dbo.tblData
WHERE Event = 'Open'
GROUP BY Int_ID
)
SELECT DISTINCT td.Int_ID
,ISNULL(Int_IDOpenCount, 0) AS Opened
,ISNULL(Int_IDTotalCount - Int_IDOpenCount, -1) AS Diff
FROM ID_TotalCount tc
JOIN ID_OpenCount oc
ON tc.Int_ID = oc.Int_ID
RIGHT JOIN dbo.tblData td
ON td.Int_ID = oc.Int_ID
Btw - not sure if your columns are actually named Event, Date etc. but if they are, you may want to revisit your naming convention and eliminate key/reserved words usage.
**ASCII stupid question, get a stupid ANSI !!!**