我正在构建一个动态应用程序。我有三张桌子:(EAV模型风格)
- 项目(ItemId,ItemName)
- 字段(FieldId、FieldName)
- 字段值(ItemID、FieldId、值)
你能告诉我如何编写 SINGLE 查询以从 FieldId=4 等于 TRUE 的所有项目中获取 20 条记录。
预期结果 :
Columns => ItemID | Name | Field1 | Field2 | Field3
Each Row=> ItemId | ItemName| Value1 | Value2 | Value3
重要问题:
- 每个项目的字段数未知
- 我需要一个来写一个查询。
- 查询将在 100K 条记录上运行,因此需要考虑性能。
- 我使用的是 MySQL 5.0,所以需要 MYSQL 的解决方案
如果上述查询根本不可能,我应该对表进行非规范化吗?有什么建议吗?