SQL查询:获取常去门店售自身最爱饮品的客户及对应门店
实现思路
核心匹配逻辑走三表关联即可,链路如下:
- 从
Frequents表提取所有客户常去的门店对应关系 - 通过
Customer字段关联Likes表,拿到每个客户对应的最爱饮品 - 通过
DrinkKiosk字段关联Sells表,加筛选条件匹配「门店在售饮品 = 客户最爱饮品」的记录,筛出来的就是符合要求的结果
参考SQL代码
SELECT f.Customer, f.DrinkKiosk FROM Frequents f INNER JOIN Likes l ON f.Customer = l.Customer INNER JOIN Sells s ON f.DrinkKiosk = s.DrinkKiosk AND s.Drink = l.Favourite;
结果说明
上述语句执行后会返回预期结果:
- Stu 对应 Bar omarma
- David 对应 Jakes Bar
- Jim 对应 Bar omarma
Steve因为常去的门店没有售卖他的最爱饮品,不会出现在返回结果里。如果后续表结构新增了客户唯一ID、门店唯一ID字段,建议用唯一ID做关联键,避免重名导致的匹配错误。
内容的提问来源于stack exchange,提问作者WhatTheWhat
相关产品推荐
相关产品推荐

