0

これは以前に回答されていると確信していますが、回答を見つけるために検索する正しい用語を見つけることができません。

次のようなテーブルがあります。

USERNAME     ACTIONNUM      VALUE1     VALUE2
--------     ----------     ------     ------
Person1      Action1             0          1
Person1      Action1             1          1
Person1      Action1             1          1
Person1      Action2             0          1
Person1      Action2             1          1
Person2      Action3             0          1
Person2      Action3             1          1
Person3      Action4             1          1

この例では、0,1 の VALUE1 と VALUE2 を 1 回検索して、USERNAME だけを取得します。したがって、最初の検索では、Person1、Person2 が返されます。

次に、2回目の検索で個別のアクション番号が得られ、値1,1に対してアクションが存在する回数がカウントされますが、最初の検索でUSERNAMEが見つかった行のみが表示されます。

したがって、この例では、クエリで次のものが返されるようにします。

USERNAME     ACTIONNUM      COUNT
--------     ----------     -----
Person1      Action1            2
Person1      Action2            1
Person2      Action3            1

したがって、Person3 は最初の検索から返されないため、スキップされます。

4

4 に答える 4

1

サブクエリから IN を使用できます。

select * from table where value1 = 1 and value2 = 1 and username in  (
select username from table where value1 = 0 and value2 = 1
)
于 2013-10-11T15:21:04.783 に答える