用于Delphi的FastReport4中的报表设计的SQL查询

时间:2013-01-22 13:00:17

标签: sql-server delphi reporting delphi-7 fastreport

我使用Delphi7开发了一个Account程序,并使用Fastreport4开发了设计报告 我有一个Bill表,它有6列(BillID,BillDate,BillDesc,BillPrice,DebitID,CreditID),DebitID和CreditID是整数值,并且与拥有两列(AccID,AccName)的Account表有关。 我想在Delphi7中使用FastReport创建一个报告,其结果如下:

报告名称:Mr.x的余额

BillID , BillDate ,  BillDesc    , DebitPrice , CreditPrice , Remain
-----------------------------------------------------------------
1      , 2012/01/22, Sample Desc1, 100USD     , 0           , -100USD
1      , 2012/01/22, Sample Desc2, 0          , 100USD      ,  0USD

我认为如果我能用上面的结果创建一个SQL查询,那么创建报告很容易。 如果你有任何想法,请告诉我吗?

2 个答案:

答案 0 :(得分:2)

select BillID , BillDate ,BillPrice,  BillDesc, b.accid, c.accid
from a Bill 
left outer join account b on a.DebitID = b.AccID
left outer join account c on a.CreditID = c.AccID

然后,您必须评估主数据/详细数据带的“打印前事件”。

if (b.accid <> '') then
  DebitPrice := BillPrice
else
  CreditPrice := BillPrice

注:借方价格,信用价格是全球变量

答案 1 :(得分:0)

尝试子查询

select a.BillID, a.BillDate, a.BillDesc,
(select b.BillPrice from Bill b inner join Account c on b.DebitID=c.AccID
where b.BillID=a.BillID) as DebitPrice,
(select d.BillPrice from Bill d inner join Account e on d.CreditID=e.AccID
where d.BillID=a.BillID) as CreditPrice
from Bill a

我没有测试过,但我认为它会起作用,请让我知道它