users.u = u2g.u および groups.g = u2g.g の場合、users、groups、u2g から u.user、g.group、u2g.something を選択します。
次のようなデータを返します。
user, group, something
----------------------
1 , 3, a
1 , 5, b
2 , 3, c
3 , 3, d
4 , 5, e
ここで、グループ 3 とグループ 5の両方に属するユーザーのみを表示するように、このクエリを制限したいと思います。したがって、サンプル データでは {1,3, a} 、 {1,5, b} のみが返されます。 .
編集: group by を使用した不適切なソリューションがある可能性があるため、データに別の列を追加しました。
edit2: 申し訳ありませんが、ドキュメントに惑わされました。MySQL 4.0 はサブクエリをサポートしていません :(
edit3: この SQL は、任意の数のグループ (現在の仕様では最大 20) に対してプログラムで生成されるため、追加のコーディングが多すぎるソリューションは避けたいと思います。解決策が見つからない場合は、結果の .Net 1.1 DataTable を変更するだけですが、可能であればそれを避けたいと考えています。
edit4: 何か新しいアイデアはありますか? おそらく、IN (3,5) を含むサブクエリのないものでしょうか?