Я должен иметь столбец, который автоматически обновляет долг каждого члена в годSQL Server Добавление вычисляемого столбца с петлей WHILE
старый долг, используемый, чтобы быть 60,000 до 2013 года, после чего он стал 75 000
Существует также столбец «Активность», который я использую в программе, если элемент все еще активен, он установлен на «ДА», если он остановился, он изменился на «НЕТ» . Также есть ДРУГОЙ столб, pDebt ", что означает Paid Debt
Основная формула позади него - это простой AmountOfDebt - PaidDebt (AKA @Amount - pDe Ь)
Я попытался сделать эту новую таблицу, но у меня было 2 проблемы
Столбцы (L.7 "dateOfRegistration" & L.10 "активность") продолжают давать знаменитый «Invalid Название столбца ", будучи существующим и уже используется в других подсчитанных столбцах
PS: yes Я использовал Ctrl + Shift + R, я сохранил запрос, перезапустил SQL Server много раз, он все еще отображается, поэтому я угадывание есть проблема ввода
Я не могу подключить мой цикл WHILE к функции ADD, чтобы добавить новую таблицу.
Вот мой код,
Use [Project Alpha1]
GO
BEGIN
DECLARE @Amount MONEY = 0,
@IndividualYear int = YEAR([dateOfRegistration])
ALTER TABLE initialTable
ADD fDebt1 AS (WHILE (@IndividualYear < GETDATE() AND [Activity] = 'YES')
BEGIN
IF @IndividualYear = 1998 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 1999 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2000 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2001 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2002 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2003 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2004 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2005 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2006 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2007 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2008 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2009 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2010 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2011 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2012 SET @Amount = @Amount + 60000
Else
IF @IndividualYear = 2013 SET @Amount = @Amount + 60000
Else
SET @Amount = @Amount + 75000
SET @IndividualYear = @IndividualYear + 1
END
@Amount - pDebt)
Я сожалею, я знаю, что я не набирали конец кода правильно (последняя строка говоря @Amount - pDebt), но так как мой пОКА петля не работает, я не думал, что это было необходимо, чтобы работать через до конца правильно либо
Это сделано на SQL Server
Tha nk вы для чтения ребята, я был бы признателен даже за любую помощь.
Это звучит как очень странный дизайн для меня. Я думаю, они делают платежи, а также отслеживают индивидуальные платежи, поэтому у вас будет какая-то таблица бухгалтерских книг. Почему бы не настроить SQL-задание, которое запускает то, что вставляет долговые записи, а не перерасчет нескольких полей? Таким образом, эта таблица всегда будет предоставлять баланс счета. – UnhandledExcepSean