あたりの医師あたりの成功した注目の割合:短縮クエリ:私は次のビューで働いている年間
それは毎年、与えられた医師によって行われ成功した注目の数を示します。
ここでは、(彼が雇用されて以来の)総注目件数から、1年に分割された注目件数の割合を示すクエリを作成します。私は基本的にすべてのために別々のテーブルを作成し
SELECT tv1.Doc_ID, Y1996, Y1997, Y1998, Y1999, Y2000, Y2001
FROM
(
SELECT Doc_ID, CAST(1.00*[Successful 1996]/[Total Attentions] AS DECIMAL(10,2)) AS Y1996
FROM VIEW3
) tv1,
(
SELECT Doc_ID, CAST(1.00*[Successful 1997]/[Total Attentions] AS DECIMAL(10,2)) AS Y1997
FROM VIEW3
) tv2,
(
SELECT Doc_ID, CAST(1.00*[Successful 1998]/[Total Attentions] AS DECIMAL(10,2)) AS Y1998
FROM VIEW3
) tv3,
(
SELECT Doc_ID, CAST(1.00*[Successful 1999]/[Total Attentions] AS DECIMAL(10,2)) AS Y1999
FROM VIEW3
) tv4,
(
SELECT Doc_ID, CAST(1.00*[Successful 2000]/[Total Attentions] AS DECIMAL(10,2)) AS Y2000
FROM VIEW3
) tv5,
(
SELECT Doc_ID, CAST(1.00*[Successful 2001]/[Total Attentions] AS DECIMAL(10,2)) AS Y2001
FROM VIEW3
) tv6
WHERE tv1.doc_id=tv2.doc_id
AND tv1.doc_id=tv3.doc_id
AND tv1.doc_id=tv4.doc_id
AND tv1.doc_id=tv5.doc_id
AND tv1.doc_id=tv6.doc_id
:それは何らかの方法私がいることを、私は私が書いたスクリプトを好きではないやったで[成功注意の喚起1996]/[総注意の喚起]
ですそれらを結合することができますが、クエリを繰り返す必要があるという事実は、それほど素晴らしいものではありません。私はCASE ... THEN ... ELSEステートメントを使用しようとしましたが、エラーが発生します。
CASE ... THEN ...より短いクエリを書く方法はありますか?はいかどうか、どのように
なぜ通常の方法でそれらを選択しないのですか? (10、2))、キャスト(1.00 * [成功した1997]/[総アテンション]を小数点(10,2)) from View3 [Doc_ID、Cast(1.00 * [Successful 1996]/[Total Attentions] '? – Prisoner
あなたの質問に答えがありましたか? –