当前位置: 首页 > news >正文

多种数据库混合查询

MySQL:用户表,Monogdb:订单表,统计用户订单,及总订单金额

image

using DiffDBQuery.Util.model;namespace DiffDBQuery
{internal class Program{static void Main(string[] args){// 1. 生成虚拟用户数据(MySQL查询结果)var users = new List<User>{new User { Id = 1, Name = "张三", Age = 28 },new User { Id = 2, Name = "李四", Age = 35 },new User { Id = 3, Name = "王五", Age = 22 },new User { Id = 4, Name = "赵六", Age = 40 },  // 无订单用户new User { Id = 5, Name = "钱七", Age = 31 }   // 有多个订单的用户
            };// 2. 生成虚拟订单数据(MongoDB查询结果)var orders = new List<Order>{new Order { Id = "o1", UserId = 1, Total = 199.99 },new Order { Id = "o2", UserId = 1, Total = 299.50 },new Order { Id = "o3", UserId = 2, Total = 599.00 },new Order { Id = "o4", UserId = 2, Total = 89.90 },new Order { Id = "o5", UserId = 3, Total = 150.00 },new Order { Id = "o6", UserId = 5, Total = 350.50 },new Order { Id = "o7", UserId = 5, Total = 120.30 },new Order { Id = "o8", UserId = 5, Total = 899.99 }};// 3. 执行联合查询(模拟跨库关联)var result = from user in usersjoin order in orders on user.Id equals order.UserId into userOrdersselect new{UserId = user.Id,UserName = user.Name, Age = user.Age,OrderCount = userOrders.Count(),TotalOrders = userOrders.Sum(o => o.Total), };// 4. 输出查询结果Console.WriteLine("联合查询结果:");Console.WriteLine("------------------------------------------------");Console.WriteLine("用户ID | 用户名 | 年龄 | 订单数量 | 总订单金额");Console.WriteLine("------------------------------------------------");foreach (var item in result){Console.WriteLine($"{item.UserId,-6} | {item.UserName,-4} | {item.Age,-3} | {item.OrderCount,-8} | {item.TotalOrders:C}");}Console.ReadLine();}}
}

 

http://www.sczhlp.com/news/2367/

相关文章:

  • Windows下安装部署多个Nginx
  • ceph:网络上的人真的是习惯于“以讹传讹”:从ceph -s的状态经过信息【mons are allowing insecure global_id reclaim】说起
  • 【原创】python http标准库搭建服务器解析php脚本
  • 「Tekla Structures 2024 下载安激活详细步骤,含China环境+本地许可证配置全流程」
  • linux系统中history增加时间戳.18920467 - 一叶舟
  • 锚框 anchor box
  • 多分支注意力机制提升表格数据建模效果
  • IntelliJ IDEA的安装与配置
  • 比特彗星常见问题-分块校验失败问题
  • cpp选手的python速成指南
  • [题解]P9598 [JOI Open 2018] 山体滑坡 / Collapse
  • 使用CredSniper窃取红队行动中的2FA令牌
  • 软件无线电处理卡设计原理图:227-基于Kintex-7 XC7K325T的FMC USB3.0四路光纤数据转发卡
  • Ubuntu 命令
  • Spring中的事务是如何实现的
  • PADS学习笔记--关于layout
  • 比特彗星常见问题-磁盘提速服务问题
  • 阿里百炼识别本地图片内容
  • conda 或者pip 安装包时报错ModuleNotFoundError: No module named tqdm.auto,
  • 常用的git操作命令
  • Promethues
  • 【WCH蓝牙系列芯片】-基于CH592开发板—BLE_UART程序中,不连接状态下串口数据接收
  • Oracle数据库-AWR(Automatic Workload Repository)报告获取方法
  • 无感注册与登录
  • 比特彗星常见问题-专家模式及其作用
  • C++课程链接
  • 如何安装DashVector向量检索服务SDK
  • CF2089C2 Key of Like (Hard Version)
  • 第二章:数据类型和转义字符
  • CameraX 实现摄像头旋转预览