Microsoft Access 掲示板

同じ内容のフィールド列に別々の結果を表示したい / 6

9 コメント
views
4 フォロー
6

GROUP BY q.勘定科目コード - IIf( q.勘定科目コード < 5000, 0, 1000 )

並びの肝の部分だと思うのですが、
この条件式でなぜこんなきれいな並びになるかわかりません。

勘定科目コードの 4000番台と5000番台の下3桁同士を
同じグループ( 母集団 )に所属させるための演算になります。
例えば

  ・ 4000 と 5000 が同じグループ ( 4000 - 0 = 4000, 5000 - 1000 = 4000 )
  ・ 4011 と 5011 が同じグループ ( 4011 - 0 = 4011, 5011 - 1000 = 4011 )
  ・ 4999 と 5999 が同じグループ ( 4999 - 0 = 4999, 5999 - 1000 = 4999 )

になります。
( 並び替えも演算結果の数値順になるよう、ORDER BY句に同様の式を記述しています )

したがって、

GROUP BY q.勘定科目コード - IIf( q.勘定科目コード < 5000, 0, 1000 )
ORDER BY q.勘定科目コード - IIf( q.勘定科目コード < 5000, 0, 1000 )

GROUP BY q.勘定科目コード Mod 1000
ORDER BY q.勘定科目コード Mod 1000

 
と記述しても 同様の結果を得ることが可能です。

通報 ...