我需要爲某些從我沒有創建的數據庫中提取數據的帳戶做出聲明。現在這個特定的表格有點奇怪,我無法將其拉下來。基本上,這裏的此刻的查詢......在複雜查詢中抽取一個SQL「IF/Else」
string query = "SELECT Date, TransCode, Amount, BalanceDebito, BalanceCredito FROM ledger WHERE (DR_Socio = @SocioNum) OR (CR_SOCIO = @SocioNum) ORDER BY Date DESC";
我一直在閱讀有關交易和其他的東西,但我不能設法拉出確定的查詢,如果DR_Socio相同@SocioNum然後BalanceDebito成爲平衡列,否則如果CR_SOCIO與@SocioNum相同,則稱爲BalanceCredit的列成爲餘額列,並且如果CR_Socio和DR_Socio列與@SocioNum相同,則它不應該傳遞任何值。基本上....
If DR_Socio = @SocioNum THEN
BalanceDebito as Balance
Else if CR_Socio @SocioNum then
BalanceCredito as Balance
Else If CrSocio and Dr_Socio = @SocioNum then
Do Nothing
End If
這就是它的要義。我需要把它變成一個SQL查詢。 BalanceDebito和BalanceCredito是我需要它們成爲報告用途的兩個不同列,因爲我正在創建一個PDF(God Bless iTextSharp),但我不能擁有BalanceDebito和BalanceCredito兩列。這可能嗎?我很困難,不知道如何繼續。幫助將非常感激。我使用C#,ASP.NET,MVC編程,使用iTextSharp dlls進行PDF創建(並且工作起來非常好),並使用SQL Server 2008作爲數據庫。
Case語句是你所需要的。按照If/elseif的順序進行評估。 – Bill