Veröffentlicht 6. Juni 200718 j 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
6. Juni 200718 j 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
6. Juni 200718 j Autor 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
6. Juni 200718 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.