遍历4个表时数据不一致

Posted

技术标签:

【中文标题】遍历4个表时数据不一致【英文标题】:Inconsistent data when traversing through 4 tables 【发布时间】:2014-08-05 04:02:52 【问题描述】:

我正在使用 4 个表(有很多字段,但每个表中只有几个重要的字段)。

    客户表 库存表 发票表 发票明细表

我一直在做的是获取客户或商品的 ID。

如果是客户,我会使用他们的 id 从客户表中获取他们的信息。现在,为了获得他们携带的物品,我必须查看每张带有该客户 ID 的发票。所以我抓住了所有这些。每张发票都有链接到发票详细信息表的 ID,因此我使用该发票 ID 并获取与发票匹配的发票详细信息。然后项目在 iteminventory 表中,因此我从发票详细信息中获取项目 ID,并获取与该客户关联的每张发票的所有项目。然后我通过一个循环运行该数据以删除任何空值并将项目数组传递给视图。

现在,如果它是一个项目,则执行相反的操作。我拿起物品,查看包含该酒的每个发票详细信息,从中获取发票 ID,并分别从每张发票中获取客户 ID。

不知何故,我以客户携带产品结束,但是当我去产品查看客户携带它时,前面提到的客户不会列在产品下。

有更简单的方法吗?

【问题讨论】:

【参考方案1】:

大多数 SQL 程序员通过使用一系列 JOIN 指令和适当的 ORDER BY 指令的单个查询来解决此类问题。他们编写了一些 php 代码来逐行读取结果集,检测发票 id 发生变化的行,并适当地格式化信息。

如果您还不知道如何使用 JOIN 指令,那么阅读一下这似乎是个好主意。

【讨论】:

我得到了它。谢谢奥利!

以上是关于遍历4个表时数据不一致的主要内容,如果未能解决你的问题,请参考以下文章

将 Json 文件加载到表时结果不一致 [重复]

MySQL:ID号自动递增的不一致

遍历HashMap是不是有序;以及fastJson.toJson()能否保证结果顺序一致

Oracle:在 UNION 语句 ORA-00932 中,clob 列与自身不一致

ZooKeeper 避坑指南: ZooKeeper 3.6.4 版本 BUG 导致的数据不一致问题

发送大量 webhook 消息时结果不一致