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
想通過它多一點它可能會更多的是一個內部聯接。我沒有什麼可以模擬和測試所選擇的確切連接策略的查詢計劃。謝謝。 –