c# - Linq UNION ALL 在同一个数据表上?
问题描述
我需要对 3 组重复的字段进行联合,我需要将它们全部加入到一个结果中:
ID1 | NAME1 | DESC1 | ID2 | NAME2 | DESC2 | ID3 | NAME3 | DESC3
到:
ID | NAME | DESC
数据在 C# DataTable 中,你怎么能像在 SQL 中那样做 UNION ALL?
解决方案
您可以使用SelectMany为每条记录构建一个包含 3 个项目的数组:
table.SelectMany(row => new []
{
new { ID = row.ID1, NAME = row.NAME1, DESC = row.DESC1 },
new { ID = row.ID2, NAME = row.NAME2, DESC = row.DESC2 },
new { ID = row.ID3, NAME = row.NAME3, DESC = row.DESC3 }
});
推荐阅读
- javascript - React Native - 无法解决模块 - 即使路径正确
- laravel - VueJS 根据用户点击动态添加文本区域(tinymce 问题)
- android - 在 CastPlayer Android 上播放视频时如何更新 ExoPlayer 的进度条?
- android - 在 kotlin 中使用过滤器操作从父级中删除子元素
- php - XSLTProcessor::transformToUri():内存分配失败:达到任意 MAX_URI_LENGTH 限制
- php - 在 VsCode 中格式化 PHP 代码的问题
- visual-studio-code - VSCode:“~$ 代码文件”打开新窗口而不是选项卡
- scala - 无法在 scala 中访问反序列化的嵌套 avro 通用记录元素
- google-apps-script - 使用 .getSelection.getActiveRangeList().getRanges() 未获取全部数据
- ios - 以编程方式调用返回应用程序按钮