Я пытаюсь вычислить суммарное представление данных в моей таблице, в данный момент запрос работает, но это не очень эффективно, поскольку моя таблица в конечном итоге будет содержать более 10 000 контрактов. Мне также нужно отфильтровать каждое из них к одной и той же дате, я понимаю, что могу сделать это в операторе where для каждого отсчета, но это не очень эффективно.
Кроме того, окончательный расчет в конце был бы намного проще, если бы я мог работать с полями, а не с выборками.
(SELECT COUNT (*) FROM Contracts WHERE contractWon = 1) Won,
(SELECT COUNT (*) FROM Contracts WHERE contractPassedToCS = 1) PassedtoCS,
(SELECT COUNT (*) FROM Contracts WHERE contractPassedToCS = 0) as OutstandingWithSales,
(SELECT COUNT (*) FROM Contracts WHERE contractIssued = 1) as ContractsIssued,
(SELECT COUNT (*) FROM Contracts WHERE contractReturned = 1) as ContractsReturned,
(CONVERT(decimal, (SELECT COUNT (*) FROM Contracts WHERE contractReturned = 1)) / CONVERT(decimal, (SELECT COUNT (*) FROM Contracts WHERE contractIssued = 1))) * 100 as '% Outstanding'
Я понимаю, что, возможно, нужно какое-то присоединение, но я немного растерялся.
Спасибо.