12
votes

Groupe par sous-requier et recherche de base SQL Server

Je veux savoir si ce qui suit est possible.

J'ai une table dont je veux récupérer 3 colonnes de données:

jour, la somme des heures travaillées, la somme des heures travaillées avec condition

ma requête est xxx

avec cette requête, je reçois la somme de toutes les données de la sous-requête pour chaque rangée, mais j'aimerais avoir la sous-requête qui inclut la contrainte à regrouper par jour. Est-il possible d'avoir un groupe par la sous-requête pour le faire, donc je reçois la somme quotidienne avec condition quotidiennement?


0 commentaires

3 Réponses :


22
votes

Non, vous ne pourrez pas faire cela car la sous-requête dans la liste SELECT reviendra alors plus que 1 valeur.

Vous devez le faire dans une sous-requête dans la clause de la clause de l'autre < p> quelque chose comme xxx


0 commentaires

0
votes
SELECT
    DAY,
    SUM(Regular + Extra + Overtime) AS [ Potential Hours ],
    (
        SUM CASE WHEN Manager NOT LIKE '%manager1%' THEN(Extra + Regular + Overtime)
    END
) AS Expr1
FROM
    dbo.TICPlus_Effort_Billable_Only
GROUP BY
    DAY

0 commentaires

0
votes

oui, vous pouvez "Une sous-requête peut être utilisée n'importe où une expression est autorisée" Comme le DOC dit


0 commentaires