0

4 つの異なるフィールドの値のリスト (icd-9 コード) のいずれかと一致するデータセットを返すために診療所診療管理データベースにクエリを実行しようとしていますが、患者の ID 番号のみ、または最初のレコードのみを返します。 icd-9 コードの 1 つを持つ患者の場合。次に、最後のケース/訪問のicd-9コードを含む、患者に必要な残りのデータを提供するために、いくつかのサブレポートを仕上げる予定です.

ソフトウェアは次のようなものを生成します。

SELECT DISTINCT 
                MWTRN."Chart Number" AS Chart_Number, 
                MWTRN."Diagnosis Code 1" AS Diagnosis_Code_1, 
                MWTRN."Diagnosis Code 2" AS Diagnosis_Code_2, 
                MWTRN."Diagnosis Code 3" AS Diagnosis_Code_3, 
                MWTRN."Diagnosis Code 4" AS Diagnosis_Code_4, 
                MWTRN."Date From" AS Date_From, 
                MWTRN."Date To" AS Date_To, 
                MWPAT."First Name" AS First_Name, 
                MWPAT."Last Name" AS Last_Name
FROM MWTRN MWTRN, MWPAT MWPAT
WHERE 
      (MWPAT."Chart Number" = MWTRN."Chart Number")
GROUP BY MWTRN."Chart Number", 
         MWTRN."Diagnosis Code 1", 
         MWTRN."Diagnosis Code 2", 
         MWTRN."Diagnosis Code 3", 
         MWTRN."Diagnosis Code 4", 
         MWTRN."Date From", MWTRN."Date To", 
         MWPAT."Last Name", MWPAT."First Name"

データセットを生成した後、どのように戻って結果をペアにすることができますか?

生成された SQL を読むために広告をサポートする SQL チュートリアル サイトをいくつか読んだことがありますが、必要なのは DISTINCT だと思いましたが、これは ID だけでなく、レコード全体が異なるかどうかのみをチェックします。

-- アドバンテージ データベース サーバーと、何らかの形で Crystal Reports に関連付けられている可能性のあるレポート ソフトウェアを使用している素人。

4

1 に答える 1

3

テスト目的で、Advantage DevZone からダウンロード可能な Advantage Data Architect が必要です。 http://devzone.advantagedatabase.comさらに、Cary Jensen のすばらしい「Advantage Database Server, a Developer's Guide」のコピーを含む完全なヘルプ ファイルが同じ場所で入手できます。アドバンテージで SQL を高速化し、一般的に SQL を高速化します。何を達成しようとしているのかに応じて、いくつかのオプションがあります。次のように、SQL スクリプトを作成し、ステートメントを一時テーブルに取り込むことができます。

Select into #MyTemp --all the rest of the complex SQL command--

次に、そのファイルで必要なことを実行して、それを切り詰めることができます。ただし、特定の診断コードを持つ患者のリストが必要な場合は、次のようにすることができます

Select pat.id, pat.name, pat.address from pat where pat.id in (Select id from tran where diag1 in ('123.3','123.4') UNION Select id from tran where diag2 in ('123.3','123.4') UNION
Select id from tran where diag3 in ('123.3','123.4') UNION Select id from tran where diag4 in ('123.3','123.4');

そして、Crystal でそれを行う必要がある場合は、AddCommand セクションを使用してそのユニオン セットを作成できます... Advantage Crystal Driver を使用していること、正しく設定されていること、およびそこから取得できることを確認してください... ご想像のとおり...アドバンテージ デブゾーン

それが役立つことを願っています。

于 2010-09-21T15:35:30.343 に答える