用戶選擇最喜歡的商場,品牌和行業SQL如何到達並檢查另一個查詢中的查詢元素? (許多一對多)
我試圖表明這是有效的用戶的最愛活動。
表:運動(具有商場及品牌),MallCampaign,購物中心,品牌,扇區,用戶,最喜歡的
例如;用戶選擇X,Y,Z(Z:不包括阿迪達斯店)商場; 阿迪達斯,李維斯,維多利亞的祕密品牌; 鞋子部門。所以用戶應該只看到阿迪達斯的活動,這是有效的X,Y商場。
如何結合這些查詢?我應該使用JOIN還是IF EXIST?
SELECT mc.CampaignId, c.CampaignTitle
FROM MallCampaign mc
JOIN Mall m ON m.MallId = mc.MallId
JOIN Campaign c ON c.CampaignId = mc.CampaignId
JOIN Brand b ON b.BrandId = c.BrandId
SELECT FavoriteItemId AS FavoriteMalls
FROM Favorite
WHERE UserId = @UserId AND FavoriteItemType=1
SELECT FavoriteItemId AS FavoriteBrands
FROM Favorite
WHERE UserId = @UserId AND FavoriteItemType=3
SELECT FavoriteItemId AS FavoriteSectors
FROM Favorite
WHERE UserId = @UserId AND FavoriteItemType=2
你能提供樣品數據和預期結果嗎?你的解釋並不能解決正義問題。例如,您在文本中提及了X,Y,Z和各種品牌,但是在示例SQL中沒有對應的條目。 –