1
我想产生如下结果:匹配家庭年龄等因素SQL
Table: [0070 Home Age Factor]
Policy Number: Home Age: Home Age Factor:
100 31 1.1
101 35 1.1
102 42 1.15
从以下规则:
Table: [Factor_HomeAge]
Home Age: Factor:
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.[Policy Number]
, (DATEPART("YYYY", HWData.[Effective Date]) -
HWData.[Year Built]) AS [Home Age]
, Factor_HomeAge.Factor
FROM [0070 Home Age Factor]
INNER JOIN Factor_HomeAge ON iif([0070 Home Age Factor].[Home Age] > 41, 41
, [0070 Home Age Factor].[Home Age]) = Factor_HomeAge.[Home Age]
ORDER BY HWData.[Policy Number];
但它不会产生我想要的结果,任何人都可以帮忙吗?我认为我的内部连接部分不正确。我想用表Factor_HomeAge
来产生愿望结果。
“您的JOIN会表现得更像一个CROSS JOIN” - 听起来更像是一个theta(内部)加入我。 – onedaywhen
想通过它多一点它可能会更多的是一个内部联接。我没有什么可以模拟和测试所选择的确切连接策略的查询计划。谢谢。 –