0
私のクエリに関する問題があります。代わりに例を使用します。だから、「膿瘍」という病名については、診断されたテーブルで2回診断されていますが、1回しかカウントされません。診断テーブルで病気を使用してチェックすると、2になります。私の答えは以下!カウント数が正しくありません
質問: 診療所で、すべての病気の名前と各病気の診断された回数を列記します。このリストはほとんど同定されていない疾患のため、 診断カウントが5未満の疾患のみを表示します。注:ゼロは5未満です。SQL照会および結果のデータ を提供してください。
私の答え:
SELECT disease.name, COUNT(*) AS number_of_disease_diagnosed
FROM disease
WHERE diseaseid IN (SELECT DISTINCT diseaseid FROM diagnosed)
GROUP BY disease.name
HAVING COUNT(*) <= 5
UNION
SELECT diseaseid,0
FROM disease
WHERE diseaseid NOT IN (SELECT DISTINCT diseaseid FROM diagnosed);
テーブル間のリンクのカーディナリティがわかるように、スキーマを教えてください。 'disease.name'は病気の鍵ですか?もしそうなら、なぜ病気の行ごとに1つ以上の 'disease.name'があると思いますか? – AntC
質問には多くの問題があります。 「病気」と「診断された」表のデータのサンプルを最小限にしてください。 @Strawberryの編集を元に戻したのはなぜですか? –
more information guys –