如何基于ID关联多表查询对应名称并生成符合要求的SQL结果表
你可以通过多表关联查询实现需求,推荐使用LEFT JOIN保留主表table1的全部数据,避免部分ID无匹配项时整行记录丢失,SQL语句如下:
SELECT t1.customerId, t1.adsId, t1.campaignId, t1.contextId, t1.Date, t1.amoutDue, t2.adsName, t3.campaignName, t4.contextName FROM table1 t1 -- 关联广告名称映射表 LEFT JOIN table2 t2 ON t1.adsId = t2.adsId -- 关联活动名称映射表 LEFT JOIN table3 t3 ON t1.campaignId = t3.campaignId -- 关联上下文名称映射表 LEFT JOIN table4 t4 ON t1.contextId = t4.contextId
如果你的业务规则要求仅返回所有ID都能匹配到对应名称的记录,将上述语句中的LEFT JOIN替换为INNER JOIN即可。
内容的提问来源于stack exchange,提问作者Caio César P. Ricciuti
相关产品推荐
相关产品推荐

