因此,如果我讓我們說下面的Excel公式,其中A代表列。將Excel中的循環引用轉換爲SQL
A B C D E F G H
1 2 3 4 5 6 =IF(A=1;"Yes";"No") =IF(G = "Yes"; "Absolutely Yes"; "No")
I
=IF(H = "Absolutely Yes"; "Definitely Yes!"; "No")
現在我正在用SQL Server中的多個#temp表進行翻譯。所以
SELECT A,B,C,D,E,F,G,
IIF(A=1, 'Yes','No') AS CONCLUSION_1
INTO #TEMP_1
FROM TABLE
SELECT A,B,C,D,E,F,G, CONCLUSION_1,
IIF(CONCLUSION_1 = 'Yes', 'Absolutely Yes', 'No') AS CONCLUSION_2
INTO #TEMP_2
FROM #TEMP_1
SELECT A,B,C,D,E,F,G, CONCLUSION_1,
IIF(CONCLUSION_2 = 'Absolutely Yes', 'Definitely Yes', 'No') AS FINAL_CONCLUSION
INTO FINAL_TABLE
FROM #TEMP_2
這只是一個簡單的例子,但Excel公式包含嵌套IF語句我與IIF或CASE語句翻譯,這些都需要重複使用的結果,然後再與第二次的結果需要就像在小例子中那樣被重用。但是,必須有比創建#temp表更好的方法?
那些不是循環引用。如果A = 1,則將Conclusion_1設置爲是,另外兩個設置爲「絕對是」。我認爲這並不容易,因此您可能錯過了某些內容? – JeffUK