hiroton
2020/01/30 (木) 11:54:58
7cddf@f966d
集計直前の状態をイメージできるとわかると思いますよ
SQLからGROUP BY句を消し、集計関数のMAXもなくすと
ex1 | ex2 | 金額_費用 | 勘定科目コード | 勘定科目 | 金額_収益 | gEX |
---|---|---|---|---|---|---|
4001 | 仕入 | 25000 | 4001 | |||
5001 | 売上 | 3500 | 4001 | |||
4002 | 売上原価 | 0 | 4002 | |||
5002 | 商品売買益 | 0 | 4002 | |||
4003 | 発送費 | 0 | 4003 | |||
5003 | 受取手数料 | 0 | 4003 |
こんな感じになります
gEXはグループ化のために作った計算式をフィールドに表示してみるとってことです
gEXでグループ化し、各列MAXをとれば、MAXといっても2レコードの内片方にしか値がないので必ずその値を拾ってきます
並べたいレコードがちょうどセットになるようなgEXを作ればいいので
q.勘定科目コード - IIf( q.勘定科目コード < 5000, 0, 1000 )
はGROUP BY
だから何か特別なことをしているということはありません
ついでにORDER BY
も同じ式を使っているので4001からきれいに並んでいるわけですね
通報 ...