0

レポートを作成するために、1 つのテーブルの行から同様のデータの数を表示する必要があります。このスクリプトは既にありますが、機能させることはできません... HAVING COUNT を使用すると、繰り返しデータとフォーム行のカウントを表示できることがわかりますが、それを作ることができます

<ul>
    <? 
        $select_product_dups = $conn->prepare("SELECT id_diagnosticon, diagnostico, diagnostico1, diagnostico2, diagnostico3 FROM DIAGNOSTICON GROUP BY diagnostico HAVING count(diagnostico)>1 AND diagnostico1 HAVING count(diagnostico1)>1 AND diagnostico2 HAVING count(diagnostico2)>1 AND diagnostico3 HAVING count(diagnostico3)>1");
        $select_product_dups->setFetchMode(PDO::FETCH_ASSOC);
        $select_product_dups->execute();
        while ($row = $select_product_dups->fetch()){
        echo '<li id="item_'.$row["id_diagnosticon"].'">';
        if (!empty($row["diagnostico"]))
        {
            echo $row["diagnostico"]; echo '<br><br>';
        }
        if (!empty($row["diagnostico1"]))
        {
            echo $row["diagnostico1"]; echo '<br><br>';
        }
        if (!empty($row["diagnostico2"]))
        {
            echo $row["diagnostico2"]; echo '<br><br>';
        }
        if (!empty($row["diagnostico3"]))
        {
            echo $row["diagnostico3"]; echo '<br><br>';
        }echo '</li>';
        }
    ?>
</ul>

このようなデータを表示する必要があります(可能であれば、チャートも完璧になります):

  • ソリアシス 4
  • にきび 20
  • 癌腫 2
  • メラノーマ 5

データ(ソリアシス、にきび...など)は医師によって挿入されたデータです

4

1 に答える 1

0

SQL を次のように変更します。

SELECT id_diagnosticon, diagnostico, COUNT(diagnostico1), COUNT(diagnostico2), COUNT(diagnostico3) 
FROM DIAGNOSTICON 
GROUP BY id_diagnosticon, diagnostico 
HAVING COUNT(diagnostico1)>1 AND COUNT(diagnostico2)>1 AND COUNT(diagnostico3)>1

ただし、これは、カウントする必要があるものとグループ化するものを想定しています

于 2013-07-12T20:50:21.203 に答える