私は2つのテーブルevouchers
,pos_vendor_map
を持っています。 pos_vendor_mapテーブルにPOS_IDのリストがあります。 evouchersは複数のトランザクションを持ち、同じPOS_IDになることができます。別のテーブルの値に基づいてクエリを実行します。
pos_vendor_map:
ID POS_ID VendorName
1 1 Test1
2 2 Test2
evoucher:
ID TRANS_TYPE TRANS_AMOUNT TRANS_STATUS POS_ID
1 1 2000 1 1
2 1 3000 1 1
3 1 1000 1 2
4 1 5000 1 2
は、今私はevouchersテーブルから各POS_IDのための取引の合計を取得したいです。だから、
foreach(POS_ID)
{
SUM(TRANS_AMOUNT)
}
現在、私は取得していた結果のようなものになりますが、クエリでPOS_IDを与えることによって、私はそれがダイナミックになりたい、それぞれこのクエリを実行するために、その後POS_IDsの総数をチェックしたいです。
SELECT
(SUM(IF(ev.TRANS_TYPE='1', ev.TRANS_AMOUNT,0)) - SUM(IF(ev.TRANS_TYPE='2', ev.TRANS_AMOUNT,0))) AS CreditStatus,
(select pvm.VENDOR_NAME from pos_vendor_map pvm where pvm.POS_ID = ev.POS_ID) AS VendorName
FROM
evouchers ev
WHERE
ev.POS_ID='1' and ev.TRANS_STATUS='1';
おかげ
はい。私は以下の方法で問題を解決しましたが、あなたのものも同じです。ありがとう。 ' \t ev.POS_ID \tを選択pvm.VENDOR_NAME AS VendorName \t、(SUM((ev.TRANS_TYPE = '1'、ev.TRANS_AMOUNT、0))IF - SUM((ev.TRANS_TYPE = '2' IF 、ev.TRANS_AMOUNT、0))) evouchersのEV FROM CreditStatus は\t ev.POS_ID \t BY pvm.POS_ID = ev.POS_ID ev.TRANS_STATUS = '1' GROUP、上pos_vendor_map PVMに参加左AS pvm.VENDOR_NAME; ' –