我有三张表,如图所示,我想在最后一张表中看到它。我无法弄清楚如何解决它 - 现在我正在使用三个嵌套调用来显示它。
首先,我遍历Customer
以显示所有这些内容。在这个循环中,我有一个遍历OrderCustom
的循环,我在里面检查是否有CustomerOrderCustom
,右Customer_id
和OrderCustom_id
。
我不仅使用了大量查询,而且视图显示了OrderCustom
正在使用的Customer
项,在本例中为邮政编码。我正在使用MySQL 5.
答案 0 :(得分:2)
这是一个实体属性值数据库设计。它在设计上不是关系型的,除了最琐碎的例子之外,你不能用关系操作(例如JOIN)来操纵它。
如果您决定将这种非关系数据存储在关系数据库中,那么您将依赖于您自己的代码或某些基于EAV的对象序列化和反序列化库,无论您使用何种编程语言。 SQL对你没什么用。
如果你真的需要为这个项目使用这样的模型(也就是说,你不能采用关系模型)那么,如果在开发过程中还不太晚,我会建议放弃SQL并阅读XML,XPath和XSLT可能更适合存储和恢复每个条目可以具有不同结构的数据。