J'ai la requête T-SQL suivante:
select
count(CaseId),
(SELECT DATEDIFF(day,CreateDate,LastActivityDate)) AS DiffDate
from
VW_Case_Analysis
where
CaseStatus = 'C'
and LastActivityDate between '2013-4-1 00:00:00.000' and '2013-4-30 23:59:59.000'
Group By
DiffDate
5 Réponses :
Vous devez utiliser l'ensemble de l'expression dans le groupe La raison pour laquelle vous ne pouvez pas Utiliser Il s'agit de l'ordre de fonctionnement SQL: p> Essayez cette requête, P> par code> clause ou simplement envelopper la déclaration entière dans une sous-requête et le regroupement sur la déclaration extérieure. alias code> sur la clause code> par code> créé au même niveau de l'instruction code> de sélection code> est parce que le groupe par code > est exécuté avant la clause code> code> dans laquelle le alias code> est créé. p>
SELECT COUNT(CaseId),
DiffDate
FROM
(
select CaseId,
DATEDIFF(day,CreateDate,LastActivityDate) AS DiffDate
from VW_Case_Analysis
where CaseStatus = 'C' and
LastActivityDate between '2013-4-1 00:00:00.000' and '2013-4-30 23:59:59.000'
) sub
Group By DiffDate
Vous ne pouvez pas utiliser d'alias dans la clause du groupe par la clause.
Utilisez une table dérivée ou dans votre cas, supprimez la 2e SELECT. P>
select
count(CaseId),
DATEDIFF(day,CreateDate,LastActivityDate) AS DiffDate
from
VW_Case_Analysis
where
CaseStatus = 'C'
and LastActivityDate between '2013-4-1 00:00:00.000' and '2013-4-30 23:59:59.000'
Group By
DATEDIFF(day,CreateDate,LastActivityDate)
Cela ne vous ferait pas les mêmes résultats? Je suis novice à SQL alors peut-être que je ne le saisis pas correctement. J'ai vu le commentaire ci-dessus le mien avec la syntaxe exacte mais je ne savais pas si c'était juste ... p> p>
Bonjour Dan, le SQL que vous fournissez semble être le même que @ Ahmed's. Donc, si c'est une question, il ne devrait pas être affiché comme réponse, s'il est pensé comme une réponse, il n'est pas nécessaire de répondre à une réponse en double. Peut-être que vous pourriez le supprimer?
Salut, désolé pour ça. Je ne suis pas capable de supprimer mon commentaire original pour une raison quelconque.
Ceci est un exemple facile de discussion de mise en œuvre
Vous pouvez utiliser croix Appliquer code> pour créer un alias et l'utiliser dans le groupe par code> clause, comme:
Cela aiderait si vous nous donniez la structure de la table.