0
A
回答
2
Select Count(T1.ProjectId) from (Select ProjectId ,Sum(TotalDay) as TL1 from Project where Location=1 gROUP BY ProjectId) t1
inner Join
(Select ProjectId ,Sum(TotalDay) as Tl2 from Project where Location=2 grOUP BY ProjectId) t2
on
t1.ProjectId=T2.ProjectId AND t1.tl1>t2.tl2
2
試試這個:
DECLARE @a TABLE (
projectid INT,
totalday INT,
location INT
)
INSERT @a (projectid, totalday, location)
VALUES
(12, 20, 2),
(12, 10, 1),
(13, 2, 1)
;WITH CTE AS (
SELECT projectid, SUM(totalday) AS totalday, location FROM @a GROUP BY projectid, location
)
SELECT COUNT(*)
FROM CTE AS a1
INNER JOIN CTE AS a2
ON a1.projectid = a2.projectid
WHERE
a1.location = 1 AND a2.location = 2
AND a1.totalday > a2.totalday
2
假設您的數據沒有唯一的密鑰約束,我首先用CTE總結每個項目每個位置的總天數 - 如果您的數據是唯一的,那麼您可以跳過此步驟。
WITH ProjectDays AS
(
SELECT projectid, location, SUM(totalday) AS TotalDays
FROM Project p
GROUP BY projectid, location
)
SELECT p1.projectId as ProjectWithMoreTotalDaysInLoc1
FROM ProjectDays p1
INNER JOIN ProjectDays p2
ON p1.projectId = p2.projectId
WHERE
p1.location = 1 and p2.location = 2
and p1.TotalDays > p2.TotalDays;
爲了簡單地得到項目(而不是項目本身的列表)的計數,只要切換最終SELECT p1.projectId
到SELECT COUNT(*)
相關問題
- 1. SQL查詢來比較以下查詢
- 2. SQL查詢 - 比較不同項目上的兩個項目 - REVISITED
- 3. SQL查詢 - 在不同的項目比較兩個項目
- 4. 比較兩個大的SQL查詢
- 5. SQL查詢比較
- 6. SQL查詢比較
- 7. 如何比較兩個SQL查詢值
- 8. SQL查詢 - 顯示在同一列兩次不同的條件
- 9. SQL - 查詢同一個列但有兩個不同的條件
- 10. 查詢比較兩個不同表中兩列的差異
- 11. 比較查詢比較兩個SQL Server表
- 12. 比較兩排
- 13. SQL Server的條件比較
- 14. MS Access 2010排名查詢比較兩列的唯一排名
- 15. T-SQL的一個查詢,比較值,並更新條件
- 16. 比較兩列兩個不同的Excel文件查找的java
- 17. SQL查詢來比較字段的值兩個不同的日期
- 18. SQL查詢來比較行
- 19. SQL查詢比較值
- 20. 比較列表SQL查詢
- 21. LINQ和SQL查詢比較
- 22. SQL查詢比較2周
- 23. 比較SQL查詢連接
- 24. 的Oracle SQL:子查詢查詢同一列兩次不同的條件下,從多張表
- 25. 條件比較不同時間的
- 26. 如何SQL查詢與條件不同
- 27. 在查詢中比較兩種不同的日期格式
- 28. 比較來自兩個不同服務器的查詢輸出
- 29. ONE SQL查詢來計算不同條件下的記錄
- 30. 比較兩個不同的文件夾與排除設置
是什麼你想要的輸出?爲什麼?有沒有隻有兩個值的位置? –
這聽起來像家庭工作......請說明你需要數數? –
請詳細說明您的問題,請輸入您需要的輸出內容。 –