次の行で何かをしようとしています:
Table Entities
id | timestamp
---------------
1 | 2012-06-05 12:00:00
Table Attributes
entity_id | attribute
---------------------
1 | a
1 | b
私ができるようにしたいこと:
select entity.id, entity.timestamp from entities entity join attributes on entity.id = attribute.id where entity.has.attributes a and b
結果セットは今では悲惨に見えますが、エンティティ テーブルに意味のある他の列があると仮定します。したがって、結果セットは次のようになります。
id | timestamp
--------------
1 | 2012-06-05 12:00:00
非常に特定のニッチなケースを解決するためにカウントと個別を使用することになる1対多の結合関係のフィルタリングに関する他の投稿を見ました(多くの条件を満たすすべての条件を要求することにより、1対多のクエリをフィルタリングします)が、よりクリーンな方法があることを願っています、これに対するより一般的な解決策。
離れて作業を続けるつもりです。スタックオーバーフローを打ち負かすことができれば、解決策を投稿します:)