我想產生的結果:使用規則SQL IIF語句連接表的問題
table name: HWData
policy number: number of residents: factor:
100 2 1
101 4 1.25
102 7 2
103 99 2
104 1 0.85
:
table name: Tier_Occupancy
number of residents: factor:
1 0.85
2 1
3 1.10
4 1.25
5 1.5
6 or above 2.0
這是我到目前爲止有:
SELECT
HWData.[Policy Number],
iif(HWData.[Number of Residents] = 1, Tier_Occupancy.Factor,1),
iif(HWData.[Number of Residents] = 2, Tier_Occupancy.Factor, 1),
iif(HWData.[Number of Residents] = 3, Tier_Occupancy.Factor, 1),
iif(HWData.[Number of Residents] = 4, Tier_Occupancy.Factor, 1),
iif(HWData.[Number of Residents] = 5, Tier_Occupancy.Factor, 1),
iif(HWData.[Number of Residents] >= 6, Tier_Occupancy.Factor, 1)
FROM HWData
INNER JOIN Tier_Occupancy ON HWData.[Number of Residents]=Tier_Occupancy.[Number of Residents]
ORDER BY HWData.[Policy Number];
我問題是它確實顯示結果,但它顯示1 1 1 1 1 1
爲保單號碼100 它顯示1 1 1 1.25 1 1
爲保單號碼101,但我不希望這一點:我只想顯示1爲保單號碼100和1.25爲保單號碼101.
我正在使用2007 Microsoft Access的SQL。
什麼版本的SQL具有'iif'功能?它有什麼作用? – Gabe
你的RDBMS是什麼? MS-SQL Server沒有iif作爲函數。它是否是自己的UDF? – Kangkan
對不起,我實際使用2007 Microsoft Access的SQL服務器,如果這對你們任何人都有意義...... – sc1324