mysql - Visual Studio 2015 报表设计器嵌套数据

标签 mysql vb.net visual-studio-2015 reporting

我在MySQL中有数据,例如:

+----+----------+--------+
| Id | grade    | defect |
+----+----------+--------+
| 1  | Grade #2 | dented |
+----+----------+--------+
| 1  | Grade #3 |        |
+----+----------+--------+
| 1  | Grade #4 | dented |
+----+----------+--------+
| 1  | Grade #5 |        |
+----+----------+--------+
| 1  | Grade #4 | short  |
+----+----------+--------+
| 1  | Grade #5 |        |
+----+----------+--------+
| 1  | Grade #1 | short  |
+----+----------+--------+
| 1  | Grade #6 |        |
+----+----------+--------+
| 1  | Grade #2 | broken |
+----+----------+--------+
| 1  | Grade #2 | long   |
+----+----------+--------+
| 1  | Grade #3 |        |
+----+----------+--------+

我想在 Visual Studio 报表设计器中创建报表。我可以创建一些查询并制作如下报告:

+----------------------+
| Grade          Count |
+----------------------+
| Grade #1       1     |
+----------------------+
| Grade #2       3     |
+----------------------+
| Grade #3       2     |
+----------------------+
| Grade #4       2     |
+----------------------+
| Grade #5       2     |
+----------------------+
| Grade #6       1     |
+----------------------+
| Total          11    |
+----------------------+
|                      |
+----------------------+
| Defect         Count |
+----------------------+
| dented         2     |
+----------------------+
| short          2     |
+----------------------+
| broken         1     |
+----------------------+
| long           1     |
+----------------------+
| Total          6     |
+----------------------+

但是,我想要更像这样的东西:

+-----------------------------+
| Grade                 Count |
+-----------------------------+
| Grade #1              1     |
+-----------------------------+
|     Short                   |
+-----------------------------+
| Grade #2              3     |
+-----------------------------+
|     dented                  |
+-----------------------------+
|     broken                  |
+-----------------------------+
|     long                    |
+-----------------------------+
| Grade #3              2     |
+-----------------------------+
| Grade #4              2     |
+-----------------------------+
|     dented                  |
+-----------------------------+
|     short                   |
+-----------------------------+
| Grade #5              2     |
+-----------------------------+
| Grade #6              1     |
+-----------------------------+
| Total                 11    |
+-----------------------------+

我确信这是可能的,但我不知道该怎么做。有人能指出我正确的方向吗?同样,我使用 Visual Studio 2015、mysql、vb.net 和报表设计器。我看到提到了团体、 child /家长等,但我看不出有什么方法可以实现这项工作。提前致谢。哎呀,现在我很乐意在 mysql 中进行查询并显示在表中。

最佳答案

MySQL 的 GROUP_CONCAT()可以给你一些包含你想要的信息的东西,尽管不是你的输出的确切格式:

SELECT grade,
       COUNT(*) AS defect_count,
       GROUP_CONCAT(COALESCE(defect, '')) AS defects
FROM yourTable
GROUP BY grade

输出:

Grade #1 | 1 | short
Grade #2 | 3 | dented, broken, long
Grade #3 | 2 |
Grade #4 | 2 | dented, short
Grade #5 | 2 |
Grade #6 | 1 |

关于mysql - Visual Studio 2015 报表设计器嵌套数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42048744/

相关文章:

MySql软删除

c# - 如何使用 Itextsharp 从 Mysql 获取 UTF8 字符并将其存储到 C# 程序中的 PDF 中?

typescript - Angular 2 和 Visual Studio 2015 与 ReSharper 2016.1

c# - 如何为 VisualStudio2015 设置 .NET 版本(代码)

asp.net-core - 如何在 MVC Visual Studio 2015 中发布 JSON 数据

MySQL 未在 HTML 中添加新行

c# - Arduino 使用 USB 连接到 Mysql

c# - Microsoft Access 2007 连接

VB.Net 上的正则表达式仅从左到右获取前几个数字

html - 检索沿谷歌地图路线的所有地址信息