Patrick.Karre Geschrieben 6. Juni 2007 Teilen Geschrieben 6. Juni 2007 Hallo Forum, ich habe folgendes Problem. Ich habe zwei Tabellen A und B. In der Tabelle A stehen Kunden und in der Tabelle B Einträhe zum Kunden mit einem Datum. Ich möchte Einträge aus der Tabelle A die an einem Datum aus Tabelle B eingetragen worden sind. Wenn ich die Werte nur aus Tabelle A abrufe stimmt die Anzahl. Erstelle ich einen JOIN bekomme ich immer mehr Ergebnisse zurück. SELECT COUNT(TA.Abschluss_Talk24_am) FROM tblAS0002 AS TA JOIN tblAS0002_History AS TH ON TH.IdAddress=TA.Id GROUP BY TA.Abschluss_Talk24_am Was mache ich falsch bzw. wie komme ich wieder an die Einzelergenisse ran? Beste Grüße Patrick Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 6. Juni 2007 Teilen Geschrieben 6. Juni 2007 Moin, Ich möchte Einträge aus der Tabelle A die an einem Datum aus Tabelle B eingetragen worden sind. ... SELECT COUNT(TA.Abschluss_Talk24_am) FROM tblAS0002 AS TA JOIN tblAS0002_History AS TH ON TH.IdAddress=TA.Id GROUP BY TA.Abschluss_Talk24_am Ich vermute, du suchst SELECT * from tblAS0002 where id IN ( SELECT IdAddress from tblAS0002_History where datum = '06.06.2007' ) hth Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 6. Juni 2007 Autor Teilen Geschrieben 6. Juni 2007 Es gibt noch zwei Probleme. Die Abfrage kann mehr als eine Lösung geben und es werden Werte aus der zweiten Tabelle gebraucht. Zur besseren Verdeutlichung habe ich mal das komplette Statement mit neuem Code eingebaut: SELECT TA.Daten_von, COUNT(CASE WHEN [CommMedia]=1 AND [CallStatus]=3 THEN 1 ELSE NULL END) + COUNT(CASE WHEN [CommMedia]=1 AND [CallStatus]=2 THEN 1 ELSE NULL END) + COUNT(CASE WHEN [CommMedia]=1 AND [CallStatus]=1 AND [TransitionType]=1 THEN 1 ELSE NULL END) + COUNT(CASE WHEN [CommMedia]=1 AND [TransitionType]=5 THEN 1 ELSE NULL END) AS Anwahlversuche, COUNT(CASE WHEN [CommMedia]=1 AND [CallStatus]=3 THEN 1 ELSE NULL END) AS ErreichteKunden, (SELECT COUNT(Abschluss_Talk24_am) FROM tblAS0002 WHERE Id IN (SELECT IdAddress FROM tblAS0002_History WHERE [TH].[Time] BETWEEN '20070101' AND '20070601')) AS Abschluss_Talk24_am FROM tblAS0002 AS TA JOIN tblAS0002_History AS TH ON TH.IdAddress=TA.Id WHERE [TH].[Type] = 5 AND [TH].[Time] BETWEEN '20070101' AND '20070601' GROUP BY TA.Daten_von ORDER BY TA.Daten_von Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
johnhaltonx Geschrieben 6. Juni 2007 Teilen Geschrieben 6. Juni 2007 Ich verstehe jetzt dein Problem nicht? was macht es wenn es mehr als ein Ergebnis gibt? Und zu dem Beispielselect..... wie wärs mit einem möglichst kelinen und überschaubaren Testcase der dein problem darstellt? Also alle nicht relevanten Spalten etc weglassen Ohne Datenmodell wird man aus dem select nämlich nicht sehr schlau, weil nicht klar ist was dieses select ausgibt und was es ausgeben sollte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 6. Juni 2007 Autor Teilen Geschrieben 6. Juni 2007 Ich habe das Problem mit zwei Abfragen gelöst. Danke für die Hilfe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.