我有三个表:Station
,MonthlyNormalData
和SubArea
。我试图让一个子区域内的所有站点至少有一个月的数据与之相关联。用下面的查询,我能得到一个子区域中的所有站点,但是这是无视有关月度数据的部分($区域是在我的PHP脚本包含该区域名称的变量):通过SQL查询获取所有具有由另一个表中的FK链接的数据的行
SELECT S.station_id, S.name, SA.sub_area_name
FROM dev.Station AS S
INNER JOIN dbo.SubArea AS SA ON S.sub_area_id = SA.sub_area_id
WHERE sub_area_name = '$region'
我也尝试了以下查询,但是它为每个与站点关联的每月数据返回一行,这实际上并不是我正在查找的内容(仅查找能够向我发送至少具有一个月数据的站点名称的内容与其相关的并非所有包含该数据的行):
SELECT S.station_id, S.name, SA.sub_area_name
FROM dev.Station AS S
INNER JOIN dbo.SubArea AS SA ON S.sub_area_id = SA.sub_area_id
INNER JOIN data.MonthlyNormalData as MND ON MND.station_id = S.station_id
WHERE sub_area_name = '$region' AND MND.value IS NOT NULL
查询我需要运行只有一行pe哪个电台在某个子区域内有与其相关的月度数据?