0

Delphi7を使用してアカウントプログラムを開発し、Fastreport4を使用してレポートを設計します。DebitIDとCreditIDが整数値であり、2つのアカウントテーブルとの関係である6つの列(BillID、BillDate、BillDesc、BillPrice、DebitID、CreditID)を持つBillテーブルがあります。 columns(AccID、AccName)。Delphi7でFastReportを使用して、次の列でこの結果が得られるレポートを作成したいと思います。

レポート名:Mr.xの残高

BillID、BillDate、BillDesc、DebitPrice、CreditPrice、Remain
-------------------------------------------------- ---------------
1、2012/01/22、サンプルDesc1、100USD、0、-100USD
1、2012/01/22、サンプルDesc2、0、100USD、0USD

上記の結果でSQLクエリを作成できれば、レポートの作成は簡単だと思います。あなたが何か考えを持っているなら、plsは私に知らせますか?

4

2 に答える 2

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

次に、masterdata/detaildataバンドの「印刷イベントの前にオン」を評価する必要があります。

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

注:DebitPrice、CreditPriceはグローバル変数です

于 2013-02-22T00:06:59.240 に答える
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

私はそれをテストしませんでしたが、それはうまくいくと思います、それについて私に知らせてください

于 2013-02-22T00:45:26.110 に答える