Предположим, ваша дата столбец DATETIME
1.No новых тестовых случаев добавлены сегодня
SELECT COUNT (*) AS [New Test Case Count]
FROM Testcase
WHERE DATE >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
2.Test случай, который вчера не удалось, но прошло сегодня
SELECT DISTINCT TCname
FROM Testcase
WHERE TCName IN (SELECT TCName
FROM Testcase t
WHERE Date BETWEEN DATEADD(dd, 0, DATEDIFF(dd, 1, GETDATE()))
AND DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
AND t.Status = 'FAIL')
AND DATE >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
AND Status = 'PASS'
3. Деловые чеки потерпели неудачу и вчера, и сегодня. SQL Fiddle Demo
SELECT DISTINCT TCname
FROM Testcase
WHERE TCName IN (SELECT TCName
FROM Testcase t
WHERE t.Date >= DATEADD(dd, 0, DATEDIFF(dd, 1, GETDATE()))
AND t.Date < DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
AND t.Status = 'FAIL')
AND DATE >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
AND Status = 'FAIL'
Пожалуйста, добавьте любые попытки, которые вы сделали, чтобы решить вопрос – Ram
Я попытался ниже подход, но вернуть все неудачи выберите tc_name FROM [TestcaseTb] где ((статус = «FAIL») AND (Date = '09/09/2014 'OR Date = '09/10/2014')) –
Ваши данные, как представляется, денормализуются. Из того, что я собираю, если у вас есть тестовый пример с именем «testA», у вас столько записей с TCname = 'testA', сколько дней в тестовом случае было, правильно? Итак, если testA используется в течение 10 дней, есть 10 записей? Другое мое предположение: тип данных столбца Date является 'DATE', а не' DATETIME', верно? Пожалуйста, разместите все типы данных в своем вопросе. – PawelP