1
我現在不得不編寫相當複雜的查詢,但我陷入困境。該表結構如下使用嵌套金額的SQL查詢
詢問由稱爲Inquiry_ID字段鏈接到Timelog。我目前的代碼會將總分鐘數迴歸到整個表格而不是每個公司。我基本上是:
公司名稱(dbo.inquiry.concom)和總分鐘的另一列。表INQUIRY認爲同一家公司的100個條目,我想要一行返回公司名稱一次,並從TIMELOG.LOGMINS計算該公司名稱的總分鐘數
因此,例如dbo中有50個條目。詢問具有相同的公司名稱,我希望它顯示一個獨特的公司,但我需要它來總計在另一個表中的分鐘數。我完全失去了!
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
編輯:類別和產品表的原因是因爲我需要根據產品是否在某個類別中排除計數。
對不起 - 那個標籤錯了。它似乎有人已經爲我重製了,所以謝謝:) – Trinitrotoluene 2011-05-03 13:47:41