0

誰かが私がこれを解決するのを手伝ってくれることを願っています.

以下は私のテーブルとコードです(これは、1つの理由で少し間違っています..)、私の状況をさらに説明するために、部分的に並べてみましょう..

Pandimandata2002.dbo.tblCrew に次のテーブルがあるとします。

CaseNo    DatePIConsult    cgoInceptionDate
------    -------------    ----------------
TR12-A    12/03/2012       10/11/2012
TR13-S    11/15/2012       09/15/2012
PO09-B                     08/20/2012
SX58-Q    11/22/2012       11/01/2012
BR88-W    10/05/2012       11/05/2012

PostMeds.dbo.tblpms には次のデータがあります。

CaseNo    med_stat    med_stateff
------    --------    -----------
BR88-W    FIT         12/01/2012
TR12-A    UNDERTX     03/13/2013
TR13-S    UNDERTX     03/10/2013 
PO09-B    UNDERTX     01/25/2013
TR13-S    FIT         04/01/2013
BR88-W    UNDERTX     11/17/2012

そこから、私はこれをしたいと思います:

CaseNo    DIFF2
------    -----    
BR88-W    57         
TR12-A    122      
PO09-B    227     
TR13-S    137     
SX58-Q    133
  • DIFF2 は、2 つの日付の差 (DATE1-DATE2 など) です。

    PostMeds.dbo.tblpms に CaseNo が存在しない場合、DATE1 は DATE NOW (2013 年 4 月 4 日) と同じです。

    DATE1 は、特定の CaseNo の (med_statff の最大値で、med_stat は「%FIT%」のようなものです) に等しい

    OR ELSEIF max(med_stateff) が null または行が存在しない場合、DATE1 は DATE NOW (2013 年 4 月 4 日) とも等しくなります。

    DatePIConsult が NULL の場合、DATE2 は cgoInceptionDate と等しい

    ELSE DATE2 は DatePIConsult と等しい

以下は私の現在のクエリです:

SELECT
     t1.CaseNo,
     (SELECT
          CASE WHEN MAX(cast(o.med_stateff as datetime)) IS NULL THEN DATEDIFF(DAY,
               CASE WHEN t1.DatePIConsult IS NULL THEN t1.cgoInceptionDate
               ELSE t1.DatePIConsult END, GETDATE()) 
          WHEN ----(select o.med_stat --------)
       DATEDIFF(DAY,
            CASE WHEN t1.DatePIConsult IS NULL THEN t1.cgoInceptionDate
            ELSE t1.DatePIConsult END,
       MAX(cast(o.med_stateff as datetime))) END AS DIFF2

       FROM PostMeds.dbo.tblpms o

       WHERE t1.CaseNo COLLATE DATABASE_DEFAULT = o.CaseNo COLLATE DATABASE_DEFAULT) AS DIFF2

FROM Pandimandata2002.dbo.tblCrew t1

コードの間違った部分が DIFF2 の状態にあります。

そこに、med_stateff の値 (w/c は med_stat と整列) が最大値である med_stat の値を取得する条件を追加したいと思います (または考慮して) CaseNo は、特定の SUBPRIMARYKEY に等しいです。その値を取得したら、その値が単語 ('FIT') と等しいかどうかを確認する必要があります。その後、コードに必要な調整を行うことができます。

誰かがこれを整理するのを手伝ってくれることを本当に願っています..皆さんに事前に感謝します..

4

1 に答える 1