• sql server算术


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 岚思榛 2024-06-20 21:40 采纳率: 25% 浏览 6 首页/ 大数据 / sql server算术 sqlserver数据库 问题:用sql server怎么把表B的B列等于表A的A列,表A可以一对多表B,B表列不管几行相加等于A表的A列,并且表B的值可上浮百分之三到百分之五之间去和表A匹配,表与表之间没有关联 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-20 21:40
      关注

      引自免费微信小程序:皆我百晓生

      对于你的问题,我们可以使用SQL Server中的窗口函数和子查询来实现。假设表A的A列和表B的B列的数据类型都是数值型。以下是一个可能的解决方案:

      首先,我们需要创建一个查询来从表A获取数据,并计算每个A列值上浮百分之三到百分之五的范围。然后,我们可以使用JOIN操作将这个范围与表B的B列值进行比较和匹配。假设表A为tableA,表B为tableB。以下是具体的SQL查询示例:

      SELECT 
          tableA.A列, 
          tableB.B列, 
          CASE 
              WHEN SUM(tableB.B列) OVER (PARTITION BY tableA.A列 ORDER BY (SELECT NULL)) BETWEEN 
                  tableA.A列 * (1 + 0.03) AND tableA.A列 * (1 + 0.05) THEN '匹配成功' 
              ELSE '匹配失败' 
          END AS 匹配结果
      FROM 
          tableA
      LEFT JOIN 
          tableB ON tableB.某个标识列 = tableA.关联标识列 -- 此处应使用两个表共有的一个关联标识列来连接它们
      ORDER BY 
          tableA.A列; -- 根据实际情况进行排序
      

      请注意以下几点:

      • 上述查询使用了窗口函数 SUM()OVER() 来计算表B中每个与表A匹配的行的总和。PARTITION BY 是用来将结果集按照特定的列(这里是表A的A列)进行分组。因此,即使表B中有多行与表A的一行匹配,它们也会被当作一组来处理。
      • ORDER BY (SELECT NULL) 是用来确保不在窗口函数排序时产生任何特定的顺序,因为题目中没有要求特定的排序方式。如果在实际应用中需要特定的排序规则,请替换为适当的列名。
      • LEFT JOIN 是用来连接两个表的,你需要根据实际的表结构来确定连接的条件,即替换 tableB.某个标识列 = tableA.关联标识列 中的“某个标识列”和“关联标识列”。这两个标识列应该是两个表中用来建立关联的字段。如果两个表没有共同的关联标识列,则可能需要使用其他方法来处理这个问题,例如使用临时表或公用表表达式(CTE)。
      • CASE 语句用来判断表B中相应行的总和是否在表A的A列的百分之三到百分之五的浮动范围内。如果是,则标记为“匹配成功”,否则标记为“匹配失败”。你可以根据实际需求调整这部分逻辑。
      • 由于SQL Server不支持直接对结果集进行汇总操作(如计算总和),因此上述查询对每个匹配的组执行单独的计算,并将结果以行的方式返回。如果你需要以更紧凑的形式查看结果,可能需要进一步处理或使用其他方法(如分组和聚合函数)。如果确实需要进一步的汇总或分组操作,请提供更多的具体要求。

      以上解决方案可能需要根据实际的数据库结构、数据类型和具体的业务需求进行适当的调整和优化。同时,在处理大型数据集时可能还需要考虑性能和索引的问题。

      展开全部

      评论 编辑记录
      编辑
      预览

      报告相同问题?

    • 相关阅读:
      网络安全—自学笔记
      【JS】判断字符串是否为 url 的方法
      jQuery表单选择器:快速选择<input>标签
      5.11-5.12Union-Find算法详解
      嵌入式人工智能入门:深度学习模型的部署与优化
      PRC是什么 | 图解系列
      Python标准库
      python安全工具开发笔记(二)——python Web编程
      .NET周刊【6月第5期 2024-06-30】
      3D模型轻量化,看云端地球如何做...
    • 原文地址:https://ask.csdn.net/questions/8121917