如何将MySQL一个查询的结果传递给另一个查询以获取门店对应产品列表
门店产品对应关系只读SQL查询方案
需求适配说明
你需要的是全部门店与对应在售产品的结构化列表,整条查询仅用SELECT语句实现,全程无任何写入操作,不会修改数据库内的原有数据,符合你的只读要求。
可直接执行的查询语句
将语句中的table_name替换为你实际的表名即可运行:
SELECT DISTINCT store, product FROM table_name WHERE store IN ( SELECT DISTINCT store FROM table_name );
语句逻辑拆解
- 内层子查询
SELECT DISTINCT store FROM table_name:第一步先拿到所有去重后的门店列表,匹配你要求的先获取去重门店的逻辑 - 外层查询:筛选所有属于上述门店列表的门店和产品组合,再用
DISTINCT去重,避免同门店下同一产品出现重复行 - 输出结果会自动按门店分组展示对应产品,和你要求的结果格式完全匹配
简化方案
如果你当前表中本身不存在「同一门店+同一产品重复录入」的脏数据,也可以直接用更简洁的写法,返回结果和上述语句完全一致:
SELECT DISTINCT store, product FROM table_name;
内容的提问来源于stack exchange,提问作者hesham noaman
相关产品推荐
相关产品推荐

