You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多子查询连接+多WHERE子句:关联4表查询指定投放的广告与图片

解决方案

首先,我们需要通过多对多中间表ad_placement关联ad和placement表,再通过ad_id关联image表,就能精准拿到符合筛选条件的url和image字段。以下是对应的SQL查询语句:

SELECT ad.url, image.image
FROM ad
JOIN ad_placement ON ad.id = ad_placement.ad_id
JOIN placement ON ad_placement.placement_id = placement.id
JOIN image ON ad.id = image.ad_id
WHERE placement.name = 'name_1';

关联逻辑说明:

  • 用JOIN连接ad和ad_placement,通过ad.id = ad_placement.ad_id定位所有关联了投放位置的广告记录
  • 接着连接placement表,通过ad_placement.placement_id = placement.id筛选出投放位置名称为name_1的目标数据
  • 最后连接image表,通过ad.id = image.ad_id匹配对应广告的图片地址

如果存在广告未关联图片的情况,你可以把最后一个JOIN改成LEFT JOIN,这样即使没有图片的广告也会被返回(image字段会显示为NULL):

SELECT ad.url, image.image
FROM ad
JOIN ad_placement ON ad.id = ad_placement.ad_id
JOIN placement ON ad_placement.placement_id = placement.id
LEFT JOIN image ON ad.id = image.ad_id
WHERE placement.name = 'name_1';

内容的提问来源于stack exchange,提问作者user3541631

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:09:33