-1

私の質問:

  select 
  SUM(payments.paid_amt) as paid_amt, 
  SUM(payments.copay_amt) as copay_amt,
  SUM(payments.CO_INSURANCE_AMT) as co_ins_amt,
  SUM(payments.PATIENT_RESP_AMT) as patient_resp_amt,
  accession.ACCESSION_ID

  from 
  [F_PAYOR_PAYMENTS_monthly] payments

  join F_ACCESSION_daily accession
  on accession.ACCESSION_ID=payments.ACCESSION_ID

  where accession.XIFIN_LOAD_DATE between '20111201' and '20111231'

  group by   accession.ACCESSION_ID

登録データのサンプルは次のとおりです。

ここに画像の説明を入力

支払いは次のとおりです。

ここに画像の説明を入力

私の問題は、同じ加入に対する同じ支払いが複数回カウントされていることです

私の質問は、特定の加入に対する支払いが一度だけ合計されるようにするにはどうすればよいですか?

間の関係payments ---> accessionmany to 1

ご指導ありがとうございました。

上記の例に期待しているのは次のとおりです。

AA895325, sum(paid_amt), sum(copayt_amt), etc..
4

3 に答える 3

2

わかりました、私があなたの問題を正しく理解しているなら、それはあなたが考慮に入れていない非常に単純な概念のように思えます。もちろん、支払いがあるテーブルには、ごとに複数の支払いがありaccesion_idます。テーブルの名前でさえ、そのヒントを示しています(F_PAYOR_PAYMENTS_monthly)、コメントで、そのテーブルには月ごとの支払いがあるとさえ言っています。それで、それを知っていると、なぜあなたが1つにつき複数の支払いを受け取ることにあなたを驚かせるのaccesion_idか、それは十分に明白であるように思われます。どの支払いを選択すべきかを尋ねるコメントには答えていないので、1か月をフィルタリングするか、次のように単純に月ごとにグループ化します。

select  accession.ACCESSION_ID,
        SUM(payments.paid_amt) as paid_amt, 
        SUM(payments.copay_amt) as copay_amt,
        SUM(payments.CO_INSURANCE_AMT) as co_ins_amt,
        SUM(payments.PATIENT_RESP_AMT) as patient_resp_amt

from [F_PAYOR_PAYMENTS_monthly] payments
join F_ACCESSION_daily accession
on accession.ACCESSION_ID=payments.ACCESSION_ID
where accession.XIFIN_LOAD_DATE between '20111201' and '20111231'
AND payment.[Month] = '201112'
group by   accession.ACCESSION_ID, payments.[Month]
于 2012-06-19T17:23:19.177 に答える
2

いくつかの可能性があります(これは実際には答えではありませんが、コメントするには長すぎます):

(1) 表に重複があります。重複が見られることを考えると、これは最も明白な場所です。

(2) 「私の問題は、同じ加盟に対する同じ支払いが複数回カウントされていることです」というあなたの声明は、まったく正しくありません。問題は、余分な支払いがカウントされていることです。支払いには支払い日があり、それをキャッチするためにアクセッション レベルの日付ロジックが期待されていると思います。ただし、このロジックではすべての支払いが許可されます。

(3) 複数の支払いが記録されているという分析は誤りです。クエリは正しいですが、何らかの理由で期待どおりに動作していません。

書かれているように、アクセッション テーブルに重複するアクセッション ID がない限り、クエリは支払いを増やすべきではありません。

于 2012-06-19T17:15:38.270 に答える
1

select と group by から accession_id を取り出します。あなたがそれを言ったので、それはアクセッションによって集計されています。

XIFIN_LOAD_DATE の月と年の部分でグループ化していると言って、選択リストにもそれらを期待していたでしょう。

上記のコメントを読んで、私は完全に混乱し始めました。

アクセッションごとに合計し、それが 1 対多の場合、複数のアクセッションは重複ではありません。それはあなたが欲しいと言ったものです。

加入日の年/月で合計したい場合は、accession-id を削除すると、リンクされた日付の年/月に基づいてすべての加入を合計する必要があります。

入力用のサンプル データを少しだけ作成し、クエリに対して期待される結果を一覧表示することは、すべての関係者にとって役立つでしょう。

于 2012-06-19T17:00:19.877 に答える