2016-06-22 5 views
1

医療記録のテーブルがあるとします。各訪問には固有のIDがありますが、訪問のためにレンダリングされるさまざまなコード/サービスに対応する複数の行で構成されています。
たとえば、一意のプロシージャコード "123"、 "456"、および "789"ごとにclaimID "John"の3つの行があります。コード付きの "Jane"の15行。 「デビッド」の6行は...SQL - 一部の行が指定されたリストに一致する行セット全体を返す方法

ID  Code 
John 123 
John 456 
John 789 
Jane 123 
Jane 456 
Jane 789 
Jane 321 
Jane 654 
David 123 
David 456 
David 789 
David 987 

私は50本のユニークな手続きコードのリストを持っており、全体が請求ラインの(「ジョン」のすなわちすべて行)を設定戻したい場所を任意のこれらの50のコードの組み合わせは別のもので請求されますが、自分自身では使用されません(「123」では「321」、「123」では「123」)。 "123"が50の私のリストにあるが、 "456"と "789"がそうでない場合、でなければは私の50の1つのコードだけが存在するので、 "John"私はこれが理にかなってほしい。

Positive Result Codes 
123 
321 
987 

クエリは、すべての5つのジェーン行(123および321)およびすべての4つのデビッド行(123 & 987)を返すべきです。

ID  Code 
Jane 123 
Jane 456 
Jane 789 
Jane 321 
Jane 654 
David 123 
David 456 
David 789 
David 987 
+4

表形式でデータ例と予想される出力を追加してください。 –

+0

申し訳ありません、新しいです。私はテーブルの値下げを見ない。 – VanHaten

+0

ここには、この種のものを投稿する方法を説明する素晴らしい記事があります。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

答えて

0

このコードを試してみてください。

;WITH Visits as (
    SELECT claimID,COUNT(DISTINCT Code) as CNT FROM tbl_Visits 
    WHERE Code in (123,123,321,987) 
    GROUP by claimID 
    HAVING COUNT(DISTINCT Code) > 1 
) 
SELECT * FROM tbl_Visits 
WHERE claimID in (SELECT claimID FROM Visits); 
関連する問題