我使用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查询,那么创建报告很容易。 如果你有任何想法,请告诉我吗?
答案 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
我没有测试过,但我认为它会起作用,请让我知道它