私はMySQLで次のようなクエリを実行しました-
SELECT
p.patient_id, p.name, pt.testresult, pt.reffby, t.testname , rf.refrange
FROM patient AS p
LEFT JOIN patienttest pt ON p.patient_id = pt.patient_id
LEFT JOIN test t ON pt.testcode = t.testcode
LEFT JOIN referencerange rf ON t.test_id = rf.test_id
WHERE p.patient_id = 10
AND pt.parent_id = 2 ;
そして、私はこのような結果を得ました -
+------------+------------+------------+--------+-----------+---------------------+
| patient_id | name | testresult | reffby | testname | refrange |
+------------+------------+------------+--------+-----------+---------------------+
| 10 | Rex Desuza | -ve | self | A:G RATIO | 15-20 for children |
| 10 | Rex Desuza | -ve | self | A:G RATIO | 30-60 for adults |
| 10 | Rex Desuza | -ve | self | A:G RATIO | 100 - 200 for women |
| 10 | Rex Desuza | -ve | self | ALBUMIN | 20-30 for men |
| 10 | Rex Desuza | -ve | self | ALBUMIN | 30-60 for adults |
| 10 | Rex Desuza | -ve | self | ALBUMIN | 100 - 200 for women |
+------------+------------+------------+--------+-----------+---------------------+
しかし、列に繰り返し値を入れたくありません(レポートにこれを表示する列の一意の値)、つまりこの形式のように-
+------------+------------+------------+--------+-----------+---------------------+
| patient_id | name | testresult | reffby | testname | refrange |
+------------+------------+------------+--------+-----------+---------------------+
| 10 | Rex Desuza | -ve | self | A:G RATIO | 15-20 for children |
| | | | | | 30-60 for adults |
| | | | | | 100 - 200 for women |
| | | -ve | | ALBUMIN | 20-30 for men |
| | | | | | 30-60 for adults |
| | | | | | 100 - 200 for women |
+------------+------------+------------+--------+-----------+---------------------+
この結果を上記の形式で表示する必要があります。その方法を教えてください。
サーバーで不可能な場合は、iReportを使用してこの形式を実現する方法を教えてください。
テキストフィールドのチェックボックス「繰り返し値を印刷」プロパティのチェックを外すと、テスト結果「-ve」は「A:G Ratio」テスト結果と同じであるため、「ALBUMIN」テストに表示されません。そして、それらが同じであっても、両方のテストのテスト結果を表示したいと思います。それを達成する方法を教えてください。