Forum
Tipps
News
Menu-Icon

SQL-Hilfe

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:
z.B.:
Eine Probe besitzt: 1x AK, 3x AG, 2x PCR->das Ergebnis:6x AK, 6x AG, 6x PCR
eine andere: 2x AK, 1x AG, 0x PCR -> 2x AK, 2x AG, 0x PCR
die dritte Probe: 1x AK, 1x AG, 1x PCR -> dieses Ergebnis stimmt!!


Kann mir bitte jemand weiterhelfen?

Vielen Dank im Voraus !!

lg
juergp


Antworten zu SQL-Hilfe:

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).

bye
juergp


« Schiffe versenken in CHTML »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Provider
Ein Provider ist ein Zugriffs- oder Zugangsanbieter für Telefon- und Internetdienste. Ein Zugangsprovider erlaubt die Einwahl per Modem oder DSL, während ein Em...

Prozessfarben
Prozessfarben, auch Druckfarben genannt, werden durch Mischen der Gundfarben Cyan, Maganta, Gelb und Schwarz (CMYK-Farbraum) erzeugt. Diese Art der Farbmischung wird auch...

Prozessor
Der Prozessor (auch Hauptprozessor oder englisch CPU - als Abkürzung für "Central Processing Unit" - genannt) ist die zentrale Recheneinheit des Computers. Der ...