【发布时间】:2018-04-13 02:07:33
【问题描述】:
我的问题看起来很简单,但我就是想不通。我需要用表 2 中的秘密数据填充秘密列,但有几个条件:
- ID 不匹配
- 颜色、日期和数量必须匹配
- 数量可以重复(颜色和日期相同)
- 在这种情况下,secret 必须按数量余额的顺序匹配(DESC 和表 1 按 ID ASC)
- 表 2 中的每一行只能使用一次 (!)
- 表 1 中的某些行没有这对
表 1:
+----+-------+------------+---------+--------+
| id | color | date | quantiy | secret |
+----+-------+------------+---------+--------+
| 1 | blue | 2017-10-29 | 7 | |
+----+-------+------------+---------+--------+
| 2 | blue | 2017-10-29 | 13 | |
+----+-------+------------+---------+--------+
| 3 | blue | 2017-10-29 | 13 | |
+----+-------+------------+---------+--------+
| 4 | blue | 2017-10-30 | 5 | |
+----+-------+------------+---------+--------+
| 5 | red | 2017-10-29 | 10 | |
+----+-------+------------+---------+--------+
| 6 | red | 2017-10-29 | 8 | |
+----+-------+------------+---------+--------+
表 2:
+----+-------+------------+---------+------------------+--------+
| id | color | date | quantiy | quantity_balance | secret |
+----+-------+------------+---------+------------------+--------+
| 11 | blue | 2017-10-29 | 7 | 120 | abc |
+----+-------+------------+---------+------------------+--------+
| 12 | blue | 2017-10-29 | 13 | 113 | def |
+----+-------+------------+---------+------------------+--------+
| 13 | blue | 2017-10-29 | 13 | 100 | ghi |
+----+-------+------------+---------+------------------+--------+
| 14 | blue | 2017-10-30 | 5 | 87 | jkl |
+----+-------+------------+---------+------------------+--------+
| 15 | red | 2017-10-29 | 10 | 201 | mno |
+----+-------+------------+---------+------------------+--------+
| 16 | red | 2017-10-29 | 8 | 191 | pqr |
+----+-------+------------+---------+------------------+--------+
【问题讨论】:
-
StackOverflow 期待你 try to solve your own problem first,我们也 don't answer homework questions。请更新您的问题以在minimal, complete, and verifiable example 中显示您已经尝试过的内容。如需更多信息,请参阅how to ask good questions,并拨打tour of the site :)
-
感谢 Barmar,但我确实尝试了很多。实际上我在这个问题上花了几天时间,因为它非常简化了客户的数据库(不是家庭作业),并且不想用非解决方案来打扰你。我只是无法实现第 5 点中提到的唯一性。
-
我们希望您以非解决方案来打扰我们。我们想展示如何纠正它们,而不仅仅是为您做。
-
对不起,我明白你的意思。不知何故,我知道我离正确的解决方案还很远。请参阅@Bill Karwin 的回答...