2017-02-05 15 views
0

私は、MySQL、例のデータを持っている:のVisual Studio 2015レポートデザイナーネストされたデータ

+----+----------+--------+ 
| 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、およびレポートデザイナーを使用しています。私はグループ、子供/親などの言及を見ますが、私はこの仕事をする方法を見ることができません。前もって感謝します。ヘック、今はmysqlでクエリを作成してテーブルに表示するだけで幸せです。

答えて

0

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 | 
+0

連結に伴う問題は、東/西の不動産を食べるです。それは私が書き直しているアプリの現在の問題です。ユニークな欠陥が多すぎるとページに収まりません。私はむしろ北/南を試してみたいと思います。それは単なる別のページです。しかし、提案をありがとう。 – James

0

をこれは私が来たものですクエリ:

SELECT 
Grade, 
SUM(Plated) AS Plated, 
SUM(iF(Reject_Reason <> "", 1, 0)) AS Rejects, 
Reject_Reason AS `Name`, 
COUNT(Reject_Reason) As `Count` 
FROM 
sorting.data 
WHERE 
job_name = @JobName 
GROUP BY Grade, Reject_Reason 

これは私を近づけ、残りはレポートデザイナーで行った。私は子供のグループを追加しました。私はそれがどのように出てきたのがうれしいです。サンプルレポートを見て、データを無視して、そこにいくつかのものを投げただけです。

Report setup, child groupsample report

関連する問題