0

各スタッフメンバーの保留中の金額をすべて表示するために使用される小さなphpプログラムがありますが、acc_codeのグループ値を合計するのに問題があります。

以下にシステムを説明しました。各スタッフには acc_code が割り当てられます。各アカウント コードには 40 ~ 50 人のスタッフがいます

例えば:

admission  name   months  acc_code
==================================
001        test1  3       10A
002        test2  5       10A
006        test3  7       15B
008        test4  1       15A
011        test5  2       16C
051        test6  3       16A
012        test7  3       16A

期待される出力:

 admission  name   months  acc_code
    ==================================
    001        test1  3       10A
    002        test2  5       10A
                    Total    USD 1000

    006        test3  7       15B
                    Total    USD 1800

    008        test4  1       15A
                    Total    USD 800

    011        test5  2       16C
                    Total    USD 1600

    051        test6  3       16A
    012        test7  3       16A
                     Total    USD 2700

各スタッフには一定の量が割り当てられています。各 acc_code の合計保留額を取得する必要があります

以下は私が書いたコードですが、各 ac_code の総計を取得する方法がわかりません

select
  (period_diff(date_format(now(), '%Y%m'),
  date_format(month, '%Y%m'))) as months,
  pending.amount,
  pending.admission_numb,
  pending.month,
  staff.full_name,
  staff.acc_code
from
  pending join staff 
  on pending.admission_numb = staff.admission 
group by
  admission
order by
  staff.acc_code asc

どんな助けでも大歓迎です

4

3 に答える 3

1
select
  staff.acc_code,
  SUM(pending.amount) pending_amount
from
  pending join staff 
  on pending.admission_numb = staff.admission 
group by
  staff.acc_code
order by
  staff.acc_code asc
于 2012-11-16T15:35:27.147 に答える
0

GROUP BY acc_code と SUM 月が必要です。このようなもの:

select SUM ((period_diff(date_format(now(), '%Y%m'), date_format(month, '%Y%m'))) as months),
pending.amount, pending.admission_numb, pending.month, staff.full_name, staff.acc_code
from pending join staff 
on pending.admission_numb = staff.admission 
group by staff.acc_code order by staff.acc_code asc

私はあなたの質問を確認していないことに注意してください. 不足していると思われるものを追加しました。また、グループの結果を取得しようとしているときにスタッフの名前が必要なのは何ですか?

于 2012-11-16T15:32:07.297 に答える
0

acc_code の合計を取得する方法を次に示します。

select
  (period_diff(date_format(now(), '%Y%m'),
  date_format(month, '%Y%m'))) as months,
  pending.amount,
  pending.admission_numb,
  pending.month,
  staff.full_name,
  staff.acc_code,
  (SELECT SUM(pending.amount) FROM pending p join staff s on p.admission_numb = s.admission WHERE p.acc_code = staff.acc_code) acc_code_total_pending
from
  pending join staff 
  on pending.admission_numb = staff.admission 
group by
  admission
order by
  staff.acc_code asc
于 2012-11-16T16:32:46.967 に答える