Я хочу получить результат:
Table: HWData
Effective Date: Year Built: Home Age: Home Age Factor:
10/8/2011 1980 31 1.1
Из приведенных ниже правил:
New Construction 0.800
1 to 5 years old 0.850
6 to 10 years old 0.900
11 to 15 years old 0.950
16 to 20 years old 1.000
21 to 30 years old 1.050
31 to 40 years old 1.100
over 40 years old 1.150
Вот что у меня есть:
Select HWData.[Effective Date],
HWData.[Year Built],
EXTRACT(YEAR FROM [Effective Date]) - HWData.[Year Built] AS Home Age,
iif(HWData.[Home Age] = 0, 0.8,
iif(HWData.[Home Age] <= 5, 0.85,
iif(HWData.[Home Age] <= 10, 0.9,
iif(HWData.[Home Age] <= 15, 0.95,
iif(HWData.[Home Age] <= 20, 1,
iif(HWData.[Home Age] <= 30, 1.05,
iif(HWData.[Home Age] <= 40, 1.1,
iif(HWData.[Home Age] > 40, 1.15,
0)))))))) AS [Home Age Factor]
FROM HWData
INNER JOIN Factor_HomeAge
ON HWData.[Policy Number] = Factor_HomeAge.[Policy Number]
Но целые коды sql просто не запускаются. Есть ли прямой способ получить домашние годы?
Я думаю, что внутреннее соединение также неверно, так как нет имени столбца Factor_HomeAge. [Номер политики].