我有 3 张桌子Campaign
, Mall
, MallCampaign
(多对多),并且想订购一个或多个购物中心提供的最近的活动。
在第一个查询中;我有资格达到在不同商场提供的活动距离。但需要为所有广告系列执行此操作,而不仅仅是一个 (Id=79)。我无法通过 JOIN 做到这一点。
SELECT
m.MallId,
ROUND(@geo1.STDistance(geography::Point(m.MallLatitude, m.MallLongitude, 4326))/1000,1) AS Distance
FROM
MallCampaign mc
INNER JOIN
Mall m ON m.MallId = mc.MallId
WHERE
m.IsActive != 0 AND mc.CampaignId = 79
ORDER BY
Distance
SELECT
ca.CampaignId, ca.CampaignTitle
FROM
Campaign ca