Ici, j'ai deux CTE et j'ai besoin de sélectionner les valeurs de ces deux CTE comme une seule requête. Je peux choisir des valeurs à partir d'un seul CTE à la fois mais je ne sais pas comment fusionner ces deux CTE et sélectionner les valeurs des deux CTE.combinant deux CTE dans une seule requête
Ici int la requête ci-dessous je peux en mesure de sélectionner des valeurs de la deuxième CTE
DECLARE @now DateTime;
DECLARE @Firstweekstart DateTime;
DECLARE @FirstweekEnd DateTime;
SET @now = CONVERT(datetime, CONVERT(date,getdate()));
SET @Firstweekstart = DATEADD(
DD,
-(DATEPART(DW, @now - 7) - 1),
@now - 7);
SET @Firstweekstart = dateadd(ms, -1, @Firstweekstart)
SET @Firstweekend = DATEADD(
DD,
7 - (DATEPART(DW, @now - 7)),
@now - 7);
SET @Firstweekend = dateadd(ms, -3, @Firstweekend+1)
;WITH CTE1 AS
(
SELECT CHINFO.CHILDID,CHINFO.CONSUMERID,
DATEADD(DD, -(DATEPART(DW, CHINFO.Adddate)-1), CHINFO.Adddate) AS APPLICATIONUSAGESTARTDATE,
DATEDIFF(WW,CHINFO.Adddate,@now) AS WEEKNUMBER,
ROW_NUMBER() OVER
(PARTITION BY CHINFO.CHILDID ORDER BY CHINFO.Adddate ASC) AS RN
FROM BKA.CHILDINFORMATION CHINFO
LEFT OUTER JOIN BKA.CHILDEVENTS CHE
ON CHE.CHILDID = CHINFO.CHILDID
GROUP BY CHINFO.CHILDID,CHINFO.CONSUMERID,CHINFO.Adddate
)
,CTE2 as
(SELECT Distinct CHINFO.CHILDID ,CHE.TIMESTAMP
,ROW_NUMBER() OVER (PARTITION BY CHINFO.CHILDID ORDER BY CHE.TIMESTAMP) row
FROM BKA.CHILDINFORMATION CHINFO
JOIN BKA.CHILDEVENTS CHE
ON CHE.CHILDID = CHINFO.CHILDID
WHERE CHE.TYPE = 'pottybreak'
AND CHE.ADDDATE BETWEEN @Firstweekstart AND @Firstweekend
GROUP BY CHINFO.CHILDID,CHE.TIMESTAMP
)
SELECT
a.CHILDID ,
AVG(CONVERT(DECIMAl,DATEDIFF (minute , b.TIMESTAMP , a.TIMESTAMP))) as CURRENTWEEKTIMERRESTART
FROM
CTE2 a
LEFT JOIN CTE2 b
on a.CHILDID = b.CHILDID
and a.row = b.row+1
group by a.childid
J'ai besoin de fusionner la requête ci-dessous au-dessus d'un
SELECT CTE1.CONSUMERID,
CTE1.CHILDID,
CTE1.APPLICATIONUSAGESTARTDATE,
CTE1.WEEKNUMBER
FROM CTE1
WHERE RN = 1 ORDER BY CTE1.CHILDID ASC
Toute suggestion?
Ici, je dois ajouter toutes les colonnes sélectionnées dans le groupe par liste de droite ?? – bala3569
oh oui .. à droite .. je viens d'ajouter le pseudo code .. – Deepshikha