我試圖完成使用下面的查詢如下:SQL服務器 - 在缺少記錄加入
- 採取一切記錄從
Dial
表和組根據表中所包含 - 加入各種標準表格上的唯一密鑰(
Dial.UID
和History.UID
)的History
表,從表Dial
所有正在連接的返回一些信息無法獲得ne,除了它沒有返回來自Dial
表的UID爲0的行(在記錄處理完成後這兩個表中都會更新,但是如果尚未處理它,它將保持爲0)。我希望將UID爲0的所有記錄的計數添加到Total Avail中。和總數符合條件的列,基於Dial.ID
任何人都可以幫忙嗎?
問候
SELECT
(CASE
WHEN History.ID = 824 or Project.Name LIKE 'Example1%' or Project.Name LIKE 'Example2' or Project.Name like '%Example3%'
THEN 'Team One'
WHEN History.ID = 814 OR Project.Name LIKE '%Example4%'
THEN 'Team Two'
ELSE 'Other'
END) as [Team],
Project.Name as [Project],
COUNT(Dial.ID) as [Total Avail.],
COUNT (CASE
WHEN Dial.Flag = '1' AND Dial.Att = 0 OR Dial.Att > 0 AND Dial.Flag = 0
THEN 1
ELSE NULL
END) AS [Total Eligible],
ISNULL(SUM(History.Attempt), 0) AS [Total Attempts],
ROUND(COUNT(CAST(ISNULL(History.Attempt, 0) AS float))/COUNT(CASE WHEN Dial.Flag = '1' OR Dial.Attempts > 0 THEN 1 ELSE NULL END), 2)*100 AS [Penetration %],
COUNT(History.Attempt) as [Unique Attempts],
COUNT (CASE WHEN History.Code IN ('EX1','EX2','EX3','EX4','EX5')
THEN 1 ELSE NULL END) AS [Contacts],
COUNT (CASE WHEN History.Code IN ('EX6','EX6','EX7')
THEN 1 ELSE NULL END) AS [Success]
FROM
Dial Dial
LEFT JOIN
History History ON Dial.UID = History.UID
LEFT JOIN
Project Project ON Dial.ID = Project.ID
WHERE
Dial.Field2 NOT LIKE ''
AND Dial.ID NOT LIKE '-%'
AND History.DateTime > CONVERT(datetime, convert(char(8), getdate(), 112))
GROUP BY
Project.Name, History.ID
此答案也有效!我投了另一個,因爲它更詳細。不過,感謝您的幫助。 – user2396939