我有一个看起来像这三个表:查找具有在许多完全匹配记录,以一对多的关系
PROD
Prod_ID|Desc
------------
P1|Foo1
P2|Foo2
P3|Foo3
P4|Foo4
...
RAM
Ram_ID|Desc
------------
R1|Bar1
R2|Bar2
R3|Bar3
R4|Bar4
...
PROD_RAM
Prod_ID|Ram_ID
------------
P1|R1
P2|R2
P3|R1
P3|R2
P3|R3
P4|R3
P5|R1
P5|R2
...
之间PROD和RAM有由PROD_RAM表中描述的许多一对多的关系。
给定一组Ram_ID
像(R1,R3)
我想找到所有具有完全相同ONE或在给定的RAM
的ALL的PROD
。
鉴于(R1,R3)
应返回例如P1
,P4
和P5
; P3
不应退还,因为有R1
和R3
,但也R2
。
什么来获得最快的查询都具有完全相同ONE或给定RAM
集的Ram_ID
的ALL的PROD
?
编辑:
的PROD_RAM
表可以包含关系比1-> 3更大,所以,对于计数 “硬编码” 检查= 1 OR = 2不是一个可行的解决方案。
+1问清楚可理解的问题 – Stuti 2011-06-14 07:38:19