Welcome to Sign in | Help

select cu afisare totala

  •  07-24-2009, 6:03 PM

    select cu afisare totala

    se da tabela:

    Nume | CodMare | CallDate
    N1 C1 7.15.2009
    N2 C2 7.28.2009
    N3 C3 7.16.2009
    N2 C2 7.29.2009


    se doreste selectarea numarului total de apeluri care persoanele N(x), efectuate in perioada
    @firstDayOfPrevMonth -@mydate.

    luand de ex. @mydate=24.07.2008, selectul o sa intoarca persoanele N1 si N3 de forma

    Nume | CodMare | Total
    N1 C1 1
    N2 C2 1

    ce vreau insa, este ca si clientul N2 sa apara in rezultat, cu 0 la total, deci:

    Nume | CodMare | Total
    N1 C1 1
    N2 C2 0
    N3 C3 1

    mai jos e ceea ce am incercat, si-mi intoarce rezultatul fara N2



    DECLARE @mydate DATETIME, @firstDayOfPrevMonth datetime,@firstDayOfCurentMonth datetime
    set @mydate = GETDATE(); --pt exemplu, data de azi, 24 iulie 2009
    set @firstDayOfPrevMonth = CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@mydate))-1),DATEADD(mm,-1,@mydate)),101);
    set @firstDayOfCurentMonth = CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@mydate)-1),@mydate),101)



    select nume,convert(VARCHAR(25),(case when count(distinct h.codmare) is null then 0 else 1 end)) from Table1 h
    where calldate between @firstDayOfCurentMonth and @mydate
    GROUP BY h.nume
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems