Я пытаюсь создать индексированное представление и получаю следующую ошибку при создании индекса:
Невозможно создать индекс при просмотре
....»
потому что столбец «Количество», на который ссылается представление в
Предложение WHERE или GROUP BY является неточным. Рассмотрите возможность исключения столбца
с точки зрения или изменения столбца, чтобы быть точным.
Столбец, о котором идет речь, имеет тип данных real
, который, я полагаю, является проблемой?
Как правильно решить эту проблему? Можно ли выполнить преобразование в представлении SQL для устранения «неточности»?
Представление SQL указано ниже:
EXEC('
CREATE VIEW model.ReceivableBillableParties
WITH SCHEMABINDING
AS
SELECT pf.Id AS Id
, pf.InsuranceId AS InsuranceId
, pf.FinancialInsType AS InsuranceType
, pr.ReceivableId
FROM dbo.Receivables pr
INNER JOIN dbo.Demographics pd ON pd.PersonId = pr.PersonId
INNER JOIN dbo.Appointments ap ON ap.AppointmentId = pr.AppointmentId
INNER JOIN dbo.Financiasl pf ON pf.PersonId = pf.PersonId
INNER JOIN dbo.PracticeInsurers pri ON pri.InsurerId = pf.FinancialInsurerId
WHERE pri.Amount = 0
')
EXEC('
CREATE UNIQUE CLUSTERED INDEX [IX_ReceivableBillableParties]
ON model.ReceivableBillableParties ([Id]);
')