SQL 观看次数(id + count_table1_column1 + count_table2_column_1)

SQL Views (id + count_table1_column1 + count_table2_column_1)

我正在执行以下查询 select 从 table 警报中找出一个序列号,然后计算该序列号有多少警报以及该序列号还有多少测量值序列号。测量值存储在另一个 table 中。 (前 2 个查询只是为了向您展示结果以便更好地理解)

SELECT InstrumentSerialNumber FROM [dbo].[CloudMeasurements]

SELECT InstrumentSerialNumber FROM [dbo].[CloudAlerts]

SELECT 
DISTINCT InstrumentSerialNumber,  
(SELECT COUNT(*) FROM [CloudAlerts] WHERE [CloudAlerts].InstrumentSerialNumber = InstrumentSerialNumber) AS Alerts,
(SELECT COUNT(*) FROM [CloudMeasurements] WHERE [CloudMeasurements].InstrumentSerialNumber = InstrumentSerialNumber) AS Measurements
FROM [CloudAlerts]

Result 查询结果见图片。 我假设它以 Count(*) summary 响应,从我的角度来看这是错误的。这个怎么写?

你好

尝试加入他们的小组结果:

SELECT 
    A.InstrumentSerialNumber,
    A.TotalAlerts,
    ISNULL(M.TotalMeasurements, 0) TotalMeasurements
FROM
    (SELECT InstrumentSerialNumber, COUNT(*) TotalAlerts FROM [CloudAlerts] GROUP BY InstrumentSerialNumber) AS A
    LEFT JOIN (SELECT InstrumentSerialNumber, COUNT(*) TotalMeasurements FROM [CloudMeasurements] GROUP BY InstrumentSerialNumber) 
        AS M ON M.InstrumentSerialNumber = A.InstrumentSerialNumber