加文哥 2024-01-05 18:20 采纳率: 15.8%
浏览 2

分割循环查询production_reporting 的id

reporting_id = 402830818cd90b24018cd90b24480002,402830818cd90b24018cd90b24480003
mysql
reporting_id 分割循环查询production_reporting 的id

  • 写回答

2条回答 默认 最新

  • &春风有信 2024-01-05 18:27
    关注
    
    要基于reporting_id对production_reporting表进行循环查询,首先需要确保reporting_id是一个字符串,并且每个ID之间用逗号分隔。
    
    以下是一个基于给定reporting_id的MySQL查询示例,该查询将为每个reporting_id从production_reporting表中检索相应的记录:
    
    sql
    SET @reporting_id_str = '402830818cd90b24018cd90b24480002,402830818cd90b24018cd90b24480003';
    
    -- 定义分割的数组
    SET @reporting_ids = REPLACE(@reporting_id_str, ',', '\',');
    SET @reporting_ids = CONCAT('''', @reporting_ids, '''');
    
    -- 查询每个reporting_id
    SELECT * FROM production_reporting WHERE reporting_id IN (
      SELECT TRIM(BOTH '''' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(@reporting_ids, '\', n.n), '\', -1)) 
      FROM (SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) n 
      WHERE n <= 1 + (LENGTH(@reporting_ids) - LENGTH(REPLACE(@reporting_ids, '\', '')))
    );
    
    这里的核心思想是使用逗号作为分隔符将reporting_id分割,然后为每个分割的部分执行查询。在上述查询中,我使用了一个简单的子查询和数字生成技术来获取每个reporting_id。
    
    注意:这只是一个简单的示例,并且假设reporting_id的数量不超过4个。如果reporting_id的数量更多或更少,你需要相应地调整数字生成技术。
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月5日

悬赏问题

  • ¥15 WPF动态创建页面内容
  • ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
  • ¥15 SQL数据库操作问题
  • ¥100 关于lm339比较电路出现的问题
  • ¥15 Matlab安装yalmip和cplex功能安装失败
  • ¥15 加装宝马安卓中控改变开机画面
  • ¥15 STK安装问题问问大家,这种情况应该怎么办
  • ¥15 关于罗技鼠标宏lua文件的问题
  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线