我一整天都在努力解决这个问题。我在这里发帖希望有人能够帮助我。
我正在尝试通过添加它们来修复缺少值的数据库。
假设我们有以下表格:
Color with columns (itemId, colorId)
Process with columns (itemId, colorId, iteration, rating)
仅当评级大于 0 时,进程才包含条目。我想通过为每次迭代添加评级 == 0 的缺失条目来解决这个问题。
例如,表进程包含:
item id | color id | iteration | rating
1 | 1 | 1 | 1
1 | 1 | 2 | 2
1 | 1 | 3 | 2
1 | 2 | 3 | 1
1 | 1 | 4 | 5
1 | 2 | 4 | 5
缺少的条目是:
item id | color id | iteration | rating
1 | 2 | 1 | 0
1 | 2 | 2 | 0
我是 SQL 的初学者,对连接不是很熟悉。我正在考虑使用带有连接的插入选择组合。也许是交叉连接?
非常感谢您的帮助!非常感谢!
PS:我使用的是mysql,但我想这不会影响答案。
编辑:感谢您提出的解决方案。但是它们都不起作用,因为假定列迭代没有缺失值。然而,对我来说就是这样。请考虑将“迭代”作为另一个 id,而不是必要的增量...
所以我真正想要的是,只要表进程中有一个给定 itemId 和迭代的条目,那么每个 colorId 也有一个条目(匹配表 Color 中的 itemId)。此缺失条目的评分应为 0。