我有一個由group_id(PK)和其他一些字段定義的組(GROUP)表。 每個組可能包含可變數量的元素及其值。該組合物存儲在具有PK字段(計數器),用於group_id的字段,用於元素名稱的字段和用於元素名稱的值的字段的第二個表(GROUP_COMPOSITION)中。SQL:查找組中的重複條目(具有可變數量的元素)
例如:
Table of groups:
groupId
g1
g2
Table of Group composition:
PK groupID Element_Name Element_Value
1 g1 Material A
2 g1 Temperature 37
3 g2 Color white
4 g2 Temperature 50
5 g2 Material B
6 g3 Material C
7 g4 Color Red
所以,如果試圖插入由材料= B和顏色=白色和溫度= 50只定義的「新組」(G5),我想將其識別爲重複組(g2)。
我想阻止在第二個表中插入重複的「組合」插入,其中組合構成由元素及其值的總數定義。
我想插入所有可能的元素的INTERSECT查詢,但不知道這是否是最佳方式。
這與帖子SQL to find duplicate entries (within a group)有關,但在這種情況下,查找重複插入的標準是基於元素的數量(而不是其性質)。
我真的apprettiate任何幫助
感謝
如果您提供了一些示例數據,它會更容易理解您問的問題... – wweicker
謝謝,示例添加(希望它有幫助...) – user1074360
很好的問題,顯示爲什麼EAV很難。你確切知道有多少元素? –