我如何将计数与 INNER JOIN 和日期一起使用,一起放在一个 SQL 句子中

How can I use count with INNER JOIN and date,where together on one SQL sentence

我下面有两个 sql table,我想用内部连接连接两个 table。然后我想计算设备的警报数量,例如下面的 Result table 。但我想在某个日期范围内执行此操作(例如 date2- date6 之间)。

我尝试写一个 sql 句子,但没有成功。我该怎么做?

第一个Table:

Message  Date   ID
Alert   date1   1
Alert   date2   2
Alert   date3   3
Alert   date4   1
Alert   date5   1
Alert   date6   2
Alert   date7   3

第二个Table:

Device   ID
PC1   1
PC2   2
PC3   3
PC1   1
PC1   1
PC2   2
PC3   3

我的决赛Table:

     Message  Device   Count  
    Alert   PC1   2
    Alert   PC2   2
    Alert   PC3   1

我的SQL句子:

select table1.message,table1.date, table2.device
       Count (table2.device)
From table1 INNER JOIN table1 
      ON table1.id =  table2.id
Where DATEDIFF(DAY,TimeStamp,GETDATE()) between date2 and date6 
Group By table2.device
BEGIN TRAN
CREATE TABLE #Table(_Message VARCHAR(100), _Date VARCHAR(100),ID INT)
CREATE TABLE #Table1(_Device VARCHAR(100),ID INT)

INSERT INTO #Table(_Message , _Date ,ID )
SELECT 'Alert','date1',1 UNION ALL
SELECT 'Alert','date2',2 UNION ALL
SELECT 'Alert','date3',3 UNION ALL
SELECT 'Alert','date4',1 UNION ALL
SELECT 'Alert','date5',1 UNION ALL
SELECT 'Alert','date6',2 UNION ALL
SELECT 'Alert','date7',3

INSERT INTO #Table1(_Device ,ID )
SELECT 'PC1',1 UNION ALL
SELECT 'PC2',2 UNION ALL
SELECT 'PC3',3 UNION ALL
SELECT 'PC1',1 UNION ALL
SELECT 'PC1',1 UNION ALL
SELECT 'PC2',2 UNION ALL
SELECT 'PC3',3

SELECT _Message , _Device,COUNT(*) [COUNT]
FROM #Table
JOIN
(
SELECT ID,_Device
FROM #Table1
GROUP BY ID,_Device
)A ON A.ID = #Table.ID 
WHERE _Date BETWEEN 'date2' AND 'date6'
GROUP BY _Message , _Device

ROLLBACK TRAN