私はNGOのシステムに取り組んでいます。借り手は借り手に利息を払わずに借り手に返済します。 または従業員が誤った値で支払いを挿入払い戻しので、彼はこの取引 のための逆をしなければならないと私は、次の列とローンテーブル持って、この支払い貸し出し領収書のレポートを生成する(払い戻しまたは逆の取引)
に負の値を挿入することによってそれを作った:
をid ║ amount ║ loan_date ║ created_on ║ emp_id ║ client_id ║
═══╬═══════════╬════════════╬═════════════╬═════════════╬═════════════╣
1 ║ 10,000 ║ 2011-01-01 ║ 2010-01-01 ║ 100 ║ 600 ║
領収書表
id ║ loan_id ║ p_amount ║ p_date ║ rev_p_id ║ created_on ║
═══╬═══════════╬════════════╬═════════════╬═════════════╬═════════════╣
1 ║ 1 ║ 500 ║ 2011-01-01 ║ null ║ 2011-01-01 ║
═══╬═══════════╬════════════╬═════════════╬═════════════╬═════════════╣
2 ║ 1 ║ 500 ║ 2011-02-01 ║ null ║ 2011-01-01 ║
═══╬═══════════╬════════════╬═════════════╬═════════════╬═════════════╣
3 ║ 1 ║ 500 ║ 2011-03-01 ║ null ║ 2011-01-01 ║
═══╬═══════════╬════════════╬═════════════╬═════════════╬═════════════╣
4 ║ 1 ║ -500 ║ 2011-04-01 ║ 2 ║ 2011-01-01
═══╬═══════════╬════════════╬═════════════╬═════════════╬═════════════╣
5 ║ 1 ║ 500 ║ 2011-05-01 ║ null ║ 2011-01-01 ║
═══╬═══════════╬════════════╬═════════════╬═════════════╬═════════════╣
6 ║ 1 ║ 500 ║ 2011-06-01 ║ null ║ 2011-01-01 ║
═══╬═══════════╬════════════╬═════════════╬═════════════╬═════════════╣
7 ║ 1 ║ 500 ║ 2011-07-01 ║ null ║ 2011-01-01 ║
私の問題私は、2011年6月1日に2011-01-01間の例 ケース1 の日付の間の合計クエリを使用してレポートを生成したい時にすべき支払番号2との間に2011-03-01日付
ケース2 の範囲の間でそれのためのリバースため= 2500 とその真の私を与えます2011-06-01には私に1500を与え、負の領収書を合計しません。これは支払いID 2と逆のため、この期間にはありません。
逆の値を合計するかどうか、またはmysqlの とPHPで私は逆転があるかどうかを判断するために、任意の戻入れのための逆のトランザクションの日付を取得し、この日付を使用するために、私はあなたのreceipts
テーブルの上に自己参加するだろう
ありがとう私は今あなたのソリューションを試してみます – maali
私はすべての領収書を取得する必要があるため、私たちは団体を使用しているので、あなたの解決策は役に立たないですが、 – maali
私は申し訳ありませんが、 Plsは精巧です。また、あなたの質問は**すべての領収書を取得することに関する** **ではないことを覚えておいてください。 – Shadow