我有这个查询:
SELECT p.[PostingID]
,[EmployerID]
,[JobTitle]
,pin.[IndustryID]
FROM [Posting] p
INNER JOIN [City] c
ON p.CityID = c.CityID
LEFT OUTER JOIN PostingIndustry pin
ON p.PostingID = pin.PostingID
WHERE (c.CityID = @CityId OR @CityId IS NULL)
AND (p.StateProvinceID = @StateProvinceId OR @StateProvinceId IS NULL)
AND (pin.IndustryID = @IndustryId OR @IndustryId IS NULL)
AND
(
(p.[Description] LIKE '%' + @Keyword + '%' OR @Keyword IS NULL)
OR (p.[JobTitle] LIKE '%' + @Keyword + '%' OR @Keyword IS NULL)
)
AND p.StreetAddress IS NOT NULL
AND p.ShowOnMap = 1
如果未选择 IndustryId 或选择了所有行业,则返回所有 pin.[IndustryID] 的结果。如果只选择一个行业,我会得到一个很好的结果,但是当一个帖子包含在多个行业中时,我会得到多个结果,如下图所示:
因此,例如,当这种情况发生时,我只想获得该发布 ID 的一个结果,否则我会根据下图获得一个谷歌地图标记的多个结果:
有没有办法优化上面的查询来做我需要的?提前致谢, Laziale