ilch Forum » Allgemein » Plauder Ecke » SQL-Statement Fehler

Geschlossen
  1. #1
    User Pic
    juergp gelöschter User
    Hi Leute!!

    Ich habe ein Problem mit einem SQL-Statement!!
    Es gibt 2 Tabellen: "Proben" und "Ergebnisse".
    Die Ergebnisse können AK, AG , PCR sein.
    Nun möchte ich die Proben mit der Anzahl der dazugehörigen AK-, AG-, und PCRErgebnisse anzeigen lassen. Pro Probe können mehrere Ak, AG- und PCR Ergebnisse vorhanden sein.

    Mein bisheriges Statement:

    SELECT PR.PROB_OID, PR.PROB_NR AS 'Probennummer', COUNT(AK_USEG.USEG_OID) AS 'Anzahl AK', COUNT(AG_USEG.USEG_OID) AS 'Anzahl AG', COUNT(PCR_USEG.USEG_OID) AS 'Anzahl PCR'
    FROM PROBEN PR
    LEFT JOIN ERGEBNISSE AK_USEG ON (AK_USEG.USEG_PROB_OID=PR.PROB_OID and AK_USEG.USEG_LAUA_ID='AK')
    LEFT JOIN ERGEBNISSE AG_USEG ON (AG_USEG.USEG_PROB_OID= PR.PROB_OID and AG_USEG.USEG_LAUA_ID='AG')
    LEFT JOIN ERGEBNISSE PCR_USEG ON (PCR_USEG.USEG_PROB_OID= PR.PROB_OID and PCR_USEG.USEG_LAUA_ID='PCR')
    WHERE PR.PROB_PRPL_OID = '74' GROUP BY PR.PROB_OID

    Mit dem oben genannten Statement bekomme ich folgendes zurück:
    1. Eine Probe besitzt: 1x AK, 3x AG, 2x PCR->das Ergebnis:6x AK, 6x AG, 6x PCR
    2. eine andere: 2x AK, 1x AG, 0x PCR -> 2x AK, 2x AG, 0x PCR
    3. die dritte Probe: 1x AK, 1x AG, 1x PCR -> dieses Ergebnis stimmt!!


    Kann mir bitte jemand weiterhelfen?

    Vielen Dank im Voraus !!

    lg
    juergp
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    juergp gelöschter User
    Hi Leute!!

    Bin nach langem Probieren selbst draufgekommen.

    Man muss nur in der SELECT-Anweisung bei "COUNT(AK_USEG.USEG_OID)" überall DISTINCT hinzufügen --> COUNT(DISTINCT AK_USEG.USEG_OID).

    dann funktionierts

    bye
    juergp
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Plauder Ecke

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten