Ich habe ein Problem bezüglich meiner Anfrage. Ich werde stattdessen ein Beispiel verwenden. Also, für den Namen der Krankheit namens "Abszess", wurde dies zweimal in meiner diagnostizierten Tabelle diagnostiziert, aber ich bekomme nur eine Zählung von 1. Wenn ich jedoch durch die Krankheitid in meiner diagnostizierten Tabelle überprüfen, bekomme ich 2. Bitte rekonstruieren meine Antwort unten!Falsche Anzahl der Zähler
Frage: Liste alle Krankheitsnamen und eine Zählung, wie oft jede Krankheit bei der Klinik diagnostiziert wurde. Die Liste ist von selten erkannten Krankheiten, so zeigen Sie nur Krankheiten, die eine Diagnose-Anzahl von weniger als 5 haben. Hinweis: Zero ist kleiner als 5. Stellen Sie die SQL-Abfrage und ein Daten VISUALISIERUNG der Ergebnisse.
Meine Antwort:
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);
Wie wäre es, wenn Sie uns das Schema geben, damit wir die Kardinalität Ihrer Tabellenverknüpfung sehen können? Ist 'Krankheit.Name' ein Schlüssel zur Krankheit? Wenn ja, warum würden Sie mehr als 1 'Krankheit.Name' pro Zeile in' Krankheit' erwarten? – AntC
Ihre Abfrage hat eine Reihe von Problemen. Bitte zeigen Sie uns eine minimale Stichprobe von Daten für die "Krankheit" und "diagnostizierten" Tabellen. Warum hast du die @Strawberry-Bearbeitung rückgängig gemacht? –
hinzugefügt weitere Informationen Jungs –