チートシートの記述 SELECT()について(2021/11/07)

複数枚構成のデータベースで必須の集計関数 SELECT()
引数のうち、うっかり間違えていたところがありますので訂正しときました
以下の再生リストできっちり言及します
 
 
でも忘れそうなので先に解説しときます
SUM(SELECT(取引詳細[作業時間], ([ID取引]=[_THISROW].[ID取引]),FALSE))
僕がが複数人相手に複数のアプリを作成するときに作業履歴と時間単価請求をするアプリで使用する計算式です
4枚構成のお買い物モデルそのものです
カラムだけ変更して使ってます
毎月の作業時間を集計したいときに便利になります
注文→注文詳細 と同列に考えて、
作業月→作業時間がリレーションの関係です
ここだけ見ると、2枚構成のフォルダ→ファイル構成と同視できますね
親となるテーブルにバーチャルカラムを作成→SUM(SELECT(取引詳細[作業時間], ([ID取引]=[_THISROW].[ID取引]),FALSE))をぶち込むと、子である目的カラムの集計が非常に簡単にできます
僕がわざわざチートシートに記録してある理由は以下のとおり
  • データベースの基本的なテクニックだから といいますか、基本にして奥義だから
  • 非常に応用が効くから
  • 集計対象が数値なら足し合わせて利用でき、数値以外(テキスト等)でもSUMをCOUNTに変更すれば個数をカウントできて便利だから
  • 守破離の離になりますが、リレーションが存在しないテーブルからも難なく目的データを集計できるから
  • 複数枚構成のデータベースでIDがなんて便利で合理的な考え方であるかの説明と理解に最適だから
うーん。。。
テキストで解説は超長くなるのでやっぱりやめときます
近々上記再生リストに追加する形で動画出します