【发布时间】:2014-08-09 06:47:54
【问题描述】:
我有 2 个 MySQL 表:“parts_revisions”和“categories_revisions”。我的目标是使用这些表中的修订数据来创建一个日志,列出对部件和类别所做的所有更改。但是,在一条 SQL 语句中列出对“部分”的更改已被证明是棘手的!情况如下:
每个表的所有条目都有“时间戳”列。
每个parts_revisions 条目都有一个“categoryId”,基本上将它链接到category_revisions 表。 (每个部分都是父类别的子类别。)
我想要做的只是列出所有的parts_revisions,但使用基于parts_revisions 中categoryId 列的categories_revisions 表中的人性化“名称”列。这将使日志更具可读性。
诀窍在于,因为 category_revisions 表中的每个类别通常有多个修订版,所以我不能只在 categoryId 列上做一个大的 'ol 连接来获取名称。 categoryId 列是非唯一的,并且“名称”可能会有所不同。我要做的是获取 latest category_revisions 条目,该条目的时间戳不迟于 part_revisions 条目的时间戳。换句话说,我们希望获得在进行部件修订时正在使用的适当类别名称。
【问题讨论】:
-
我相信发布这两个表的结构会更容易(至少对我来说),甚至更好,构建一个sqlFiddle here
-
@hex494D49 ,是的,我明白了。好吧,取决于我是否得到很多反馈(或者我自己没有弄清楚),我可能会更新这个问题。感谢您的输入
标签: mysql