我需要为一些从我没有创建的数据库中提取数据的帐户做一个声明。现在这个特定的表有点奇怪,我很难把它拉下来。基本上这是目前的查询......
string query = "SELECT Date, TransCode, Amount, BalanceDebito, BalanceCredito FROM ledger WHERE (DR_Socio = @SocioNum) OR (CR_SOCIO = @SocioNum) ORDER BY Date DESC";
我一直在阅读有关 TRANSACT 和其他内容的信息,但我无法提取一个查询来确定如果 DR_Socio 与 @SocioNum 相同,则 BalanceDebito 成为 Balance 列,或者如果 CR_SOCIO 与 @SocioNum 相同,则名为 BalanceCredit 的列成为 Balance 列,如果 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(上帝保佑 iTextSharp),但我不能有 BalanceDebito 和 BalanceCredito 的两列。这可能吗?我很困惑,不知道如何继续。帮助将不胜感激。我正在使用 C#、ASP.NET、MVC 进行编程,使用 iTextSharp dll 来创建 PDF(效果很好),并使用 SQL Server 2008 来创建数据库。