Je dois écrire une requête assez compliquée pour l'instant mais je suis coincé. La structure de la table est la suivanteRequête SQL avec somme imbriquée
L'enquête est liée à TimeLog par un champ appelé Inquiry_ID. Mon code actuel qui ramène le total des minutes mais pour toute la table et non par compagnie. Ce que je suis fondamentalement après:
Deux Colonnes un pour le nom de la société (dbo.inquiry.concom) et un autre pour le total des minutes. La table INQUIRY contient 100 entrées pour la même société, je veux une ligne pour retourner le nom de l'entreprise une fois et le nombre total de minutes comptées pour le nom de cette société de TIMELOG.LOGMINS
Donc par exemple il y a 50 entrées dans dbo .chiry qui ont le même nom de compagnie, je veux qu'il montre une compagnie distincte mais j'en ai besoin pour totaliser la quantité de minutes qui est dans une autre table. Je suis complètement perdu!
DECLARE @StartDate DATETIME, @EndDate DATETIME
SET @StartDate = dateadd(mm, - 1, getdate())
SET @StartDate = dateadd(dd, datepart(dd, getdate()) * - 1, @StartDate)
SET @EndDate = dateadd(mm, 1, @StartDate)
SELECT DISTINCT TOP 100 PERCENT dbo.INQUIRY.CONCOM, TIMELOG_1.LOGMINS, dbo.INQUIRY.ESCDATE, dbo.INQUIRY.INQUIRY_ID,
(SELECT SUM(LOGMINS) AS Expr1
FROM dbo.TIMELOG
WHERE dbo.INQUIRY.ESCDATE BETWEEN @Startdate AND @EndDate) AS TOTALMINUTES
FROM dbo.INQUIRY INNER JOIN
dbo.TIMELOG AS TIMELOG_1 ON dbo.INQUIRY.INQUIRY_ID = TIMELOG_1.INQUIRY_ID INNER JOIN
dbo.PROD ON dbo.INQUIRY.PROD_ID = dbo.PROD.PROD_ID INNER JOIN
dbo.CATEGORY ON dbo.PROD.CATEGORY_ID = dbo.CATEGORY.CATEGORY_ID
WHERE dbo.INQUIRY.ESCDATE BETWEEN @Startdate AND @EndDate
ORDER BY dbo.INQUIRY.CONCOM
EDIT: La raison pour laquelle les tables de la catégorie et de produits sont là parce que je vais devoir exclure le compte en fonction de savoir si un produit est dans une certaine catégorie.
Désolé - c'est étiqueté incorrect. Il semble que quelqu'un l'a retagged pour moi alors merci :) – Trinitrotoluene