0

SQL Server でクエリを作成しようとしています。
満たす必要がある基準は次のとおりです。

1) 列 1 と 3 に複数の重複レコードが必要です (例: 列 1 = A と列 3 = X を 3 回)

2) 列 2 が複数のイベントにわたって複数の値を持つ場合にのみ、上記のレコードを返します (例: 列 1 と列 3、A と X には列 2 = 1 と 2 があります)。

平たく言えば…

すべて選択 列 1、列 3 > 1

ただし、col 2 は繰り返すことができません。既に異なる値が存在しない限り、それらが異なる値の 1 つと等しい限り、残りの値を返します。

私の問題は、以下の例の col 1 = E のような状況を取り除くことができなかったことです。

例:

col 1 | col 2 | col 3
A     | 1     | Y
A     | 1     | X
A     | 2     | X
A     | 2     | X
B     | 1     | X
B     | 1     | Y
C     | 1     | X
C     | 2     | Y
D     | 1     | Y
D     | 2     | Y
E     | 1     | X
E     | 1     | X
F     | 1     | X

望ましい結果:

col 1 | col 2 | col 3
A     | 1     | X
A     | 2     | X
A     | 2     | X
D     | 1     | Y
D     | 2     | Y   

(編集:行を列に切り替え、タイトルを更新)

4

1 に答える 1

0
SELECT test.COL1,test.COL2,test.COL3 FROM test,
(   SELECT COL1,COL3 FROM test 
    GROUP BY COL1,COL3 
    HAVING COUNT (DISTINCT COL2)>=2
) table2
WHERE test.COL1=table2.COL1 AND test.COL3=table2.COL3

ここを見てください http://sqlfiddle.com/#!3/2ba37/4/0

于 2013-09-30T14:46:22.797 に答える