かなり単純なスクリプトを作成します。組織の国際通話料金をすべて合計する必要があります。phonelog テーブルと rate テーブルの 2 つのテーブルがあります。
私が解決した解決策は簡単です:
電話ログテーブルから宛先の国コードと通話時間を選択します
料金表から 1 分あたりの料金を選択します (先ほど選択した目的地の国コードを使用)
次に、すべての国際電話の通話時間と 1 分あたりのコスト (CPM) を乗算し、total という名前の変数に追加します。これは最後にユーザーに表示されます。
さて、これを好きなように書くことができれば、約30分でこれを行うことができます. しかし、その大部分を SQL で書かなければならないと言われました。
だから私は少しグーグルで検索し、ストアドプロシージャを使用することにしました。
最初の選択クエリの結果をどのようにトラバースしますか? これが ColdFusion または PHP にある場合、単純に結果を配列に入れますが、1 つのクエリの結果を SQL の配列に挿入する方法を見つけられませんでした。
2番目:これらの手順を要約する方法はありますか?
例えば:
total = 0
select destinationareacode, duration from phonelogs, where destination=international
for each record, select CPM from rates, where areacode = (record.destinationareacode)
total+=CPM*(duration/60)
そして、合計がユーザーに表示されます。
とにかく...私の質問を明確にするために:
一連のクエリ結果をトラバースするにはどうすればよいですか? 結果自体 (エリアコード) をそのクエリの条件として使用して、それらの結果をトラバースしながら別のクエリを実行することは可能ですか?
これがすべて複雑に思われる場合は申し訳ありませんが、質問を他にどのように表現すればよいかわかりません。