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

SQL中基于动态ID获取定制产品选择的行转列查询咨询

解决方案

以下是兼容所有主流关系型数据库的标准SQL写法,通过关联主餐与配套选择后做条件聚合实现矩阵输出:

SELECT
  main_meal AS '',
  MAX(CASE WHEN side_meal = 'R-COKE' THEN 1 ELSE 0 END) AS 'R-COKE',
  MAX(CASE WHEN side_meal = 'R-FANT' THEN 1 ELSE 0 END) AS 'R-FANT',
  MAX(CASE WHEN side_meal = 'ARWA' THEN 1 ELSE 0 END) AS 'ARWA',
  MAX(CASE WHEN side_meal = 'R-SPRT' THEN 1 ELSE 0 END) AS 'R-SPRT'
FROM (
  -- 关联每个组合餐的主餐名称和用户选择的配套产品
  SELECT
    m.main_meal,
    c.side_meal
  FROM (
    -- 获取每个组合餐ID对应的主餐名称
    SELECT id, description AS main_meal
    FROM item
    WHERE level = 0 AND action = 'RECIPE'
  ) m
  LEFT JOIN (
    -- 获取每个组合餐ID对应的用户选择的配套产品
    SELECT id, description AS side_meal
    FROM item
    WHERE action = 'CHOICE'
  ) c ON m.id = c.id
) t
GROUP BY main_meal
ORDER BY main_meal;

如果配套产品列表是动态不固定的,你可以根据使用的数据库类型(MySQL/PostgreSQL/SQL Server等),用数据库对应的动态SQL语法拼接查询语句即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:09:02