私は SQL Server にかなり慣れていないので、かなり基本的なことをしようとしていますが、重要な概念が欠けているに違いありません。
まず、次の話です。
- 注文の項目を含むテーブル X があります
- 注文自体を含むテーブルYがあります
ラインアイテムの数を注文数で割って、平均注文のラインアイテム数を生成したいと考えています。
私はいくつかのオプションを試しました:
2 つのテーブルを結合してから、X の count() を Y のカウントで除算してみました。残念ながら、X から Y ではすべての Y のエントリが作成されるため、除算の結果は 1 になります。
select count(x) / count (y) from x join y
「明確な」注文をカウントしようとしましたが、明確なラインアイテムではなく、選択ステートメントの半分を「明確な」ものにしようとしました。selectステートメントの半分を個別にすることはできないことがわかりました。
select count(x) / distinct count (y) from x join y
新しいテーブルを作成して、注文数の合計を新しいテーブルに出力してみました。次に、行項目の数をそのテーブルの値で割ろうとしました。テーブルを結合しない限り、それは機能せず、元の問題に戻ります。
select count(x) / temptable from x join temptable
ステートメントを変数に出力する方法を調べてみた
SQL
ので、その変数を除算に使用できましたが、どこにも行きませんでした。私は、この問題を示唆しているが実際には解決していない多くのスタック オーバーフローの投稿を注意深く読みました。
どんな助けでも心から感謝します!