Brett vorm Kopf: Komplizierte SQL Abfrage per CRecordset [gelöst]



  • Hallo!

    Ich habe mir gestern in mühevoller Kleinarbeit eine SQL Abfrage gestrickt, die mir u.a. alle Kunden-IDs gibt, die schon länger als x Monate nicht mehr da waren.

    SELECT     COUNT(*) AS Anz, Knd_ID AS KND_ID, MAX(Datum) AS MAXDAT
    		FROM         Besuche
    		GROUP BY Knd_ID
    		HAVING      (DATEDIFF(m, MAX(Datum), GETDATE()) > 11)
    

    Wie bringe ich das nun in einer Where unter? Ich meine mit [ID] in (select KND_ID from Besuche where...) geht es dieses Mal irgendwie nicht, oder?

    Bitte helft mir, mein aktueller Ansatz mit zur Laufzeit einen view erstellen, abfragen und wieder löschen kommt mir so kompliziert vor. 🙄

    Danke



  • Okay, kaum "redet" man drüber löst sich das Brett:

    strTmp.Format(_T("([ID] in (SELECT [Knd_ID] FROM Besuche GROUP BY [Knd_ID] HAVING (DATEDIFF(m, MAX([Datum]), GETDATE()) > %s)))"), m_strBesuch);
    

    🙂


Anmelden zum Antworten