我正在开发一个产品配置器(php / mysqli),在该产品中,主表存储(按程序逐页地)关联的选项表中的ID。
我要做的是根据先前选择/存储的选项兼容性过滤选项记录集。
以下示例应说明:
主表
| ZOO_AREA_ID | ANIMAL_ID | ENCLOSURE_ID |
| 6 | 1 | 5 |
| 7 | 2 | 6 |
| 8 | 3 | ?????? |
动物桌
| ANIMAL_ID | ANIMAL | ENCLOSURE_TYPE_IDS |
| 1 | Mouse | 2,5,6 |
| 2 | Lizard | 6 |
| 3 | Crab | 3,4 |
附件表(菜单列表的选项)
| ENCLOSURE_ID | ENCLOSURE |
| 1 | Large walled area |
| 2 | Wire Cage |
| 3 | Oceanarium |
| 4 | Water Tank |
| 5 | Hutch |
| 6 | Vivarium |
因此,如果我要在主表中配置ZOO_AREA_ID第8行,并且已经选择并更新了ANIMAL_ID 3(螃蟹)。我想为一个下拉列表创建一个记录集,该记录集限制了“封闭表”中的结果,其中“动物”表的ENCLOSURE_TYPE_IDS中列出了ENCLOSURE_ID。
在这种情况下,记录集结果应为:
| ENCLOSURE_ID | ENCLOSURE |
| 3 | Oceanarium |
| 4 | Water Tank |
实现此目标的最佳方法是什么?
任何帮助将不胜感激。
答案 0 :(得分:0)
我摆脱了animals表中的ENCLOSURE_TYPE_IDS,并为Animals(一列Integer ID)与Enclosures(第二列Integer ID)兼容的实例创建了一个新的XREF Table。
然后,获取所需的记录集。...
选择e。* FROM附件表e 左联接animals_enclosures_xref xref开启xref.ENCLOSURE_ID = e.ENCLOSURE_ID xref.ANIMAL_ID =:-无论链接ID是-:
认为我没错,但这已经结束了...:)