declare @temp table (ddate datetime)
insert @temp
select DATEDIFF(d,0,CONVERT(smalldatetime,'09/30/2012') -Number)
from master..spt_values
where type='p' and number < DatePart(d,'09/30/2012')
order by 1
DECLARE @DeptCode int =1
- à l'affichage des données de date particulièrecombiner aujourd'hui et total précédent d'aujourd'hui que les mêmes résultats de colonne dans une requête SQL
select ComplaintMedia_Abbri,
ddate,COUNT(ComplaintMedia) as c
from Complaint
INNER JOIN @temp
ON convert(datetime,convert(varchar(10),ComplaintDate,101),101)=convert(datetime,convert(varchar(10),ddate,101),101)
WHERE isnull(Receivedby_Dept,Relatesto_Dept)=1
group by ComplaintMedia_Abbri,ddate
order by ddate,ComplaintMedia_Abbri
- pour afficher jusqu'à ce jour date particulière fonctionnement des données au total
select ComplaintMedia_Abbri,ddate,
COUNT(ComplaintMedia_Abbri) as c
from Complaint
INNER JOIN @temp
ON convert(datetime,convert(varchar(10),ComplaintDate,101),101)<=convert(datetime,convert(varchar(10),ddate,101),101)
WHERE isnull(Receivedby_Dept,Relatesto_Dept)=1
group by ComplaintMedia_Abbri,ddate
Je veux montrer les enregistrements dans un des résultats de la requête sql totale jusqu'à ce jour et aujourd'hui (ce jour) en cours d'exécution .....
à la jointure, il existe deux conditions de différence.
résultat attendu devrait être ressembler à ceci
Edit: Je suis en mesure de achive ce résultat en utilisant ces requêtes et les rejoindre, mais je veux faire cette tâche en une seule requête au lieu de deux requêtes
mon chemin actuel peut être vérifier ici. désolé pour cette longue question, mais je pense qu'il est nécessaire de comprendre la question en fait ..
declare @temp table (ddate datetime)
insert @temp
select DATEDIFF(d,0,CONVERT(smalldatetime,'09/30/2012') -Number)
from master..spt_values
where type='p' and number < DatePart(d,'09/30/2012')
order by 1
--select * from @temp
SELECT * FROM
(select ddate,ISNULL(L,0) AS Letter,
ISNULL(P,0) AS Phone,
ISNULL(E,0) AS Email,
ISNULL(W,0) AS WEB
FROM
(
select ComplaintMedia_Abbri,
ddate,COUNT(ComplaintMedia) as c
from Complaint
INNER JOIN @temp
ON convert(datetime,convert(varchar(10),ComplaintDate,101),101)=convert(datetime,convert(varchar(10),ddate,101),101)
WHERE isnull(Receivedby_Dept,Relatesto_Dept)=1
group by ComplaintMedia_Abbri,ddate
) p
pivot (SUM(c) FOR ComplaintMedia_Abbri IN (E,W,L,P)) AS pvt
) AS [A]
INNER JOIN
(
select ddate,ISNULL(L,0) AS LetterTot,
ISNULL(P,0) AS PhoneTot,
ISNULL(E,0) AS EmailTot,
ISNULL(W,0) AS WEBTot
FROM
(
select ComplaintMedia_Abbri,ddate,
COUNT(ComplaintMedia_Abbri) as c
from Complaint
INNER JOIN @temp
ON convert(datetime,convert(varchar(10),ComplaintDate,101),101)<=convert(datetime,convert(varchar(10),ddate,101),101)
WHERE isnull(Receivedby_Dept,Relatesto_Dept)=1
group by ComplaintMedia_Abbri,ddate
) p
pivot (SUM(c) FOR ComplaintMedia_Abbri IN (E,W,L,P)) AS pvt
) AS [B]
ON A.ddate=B.ddate
order by A.ddate
À quoi ressemblent vos données et quel serait le résultat attendu? –
les colonnes attendues sont les résultats des requêtes deuxième et troisième partie ... – rahularyansharma
@ t-clausen.dk hey question mise à jour avec la requête actuelle et les résultats actuels, mais ils viennent de deux requête différente, je veux fusionner ces deux en un pour améliorer la vitesse pour cette procédure stockée. – rahularyansharma