我的确有一个包含NPC条目的MySQL表。每个NPC有3个能力槽。每个插槽有两个可能的值。查找具有可互换行的类似条目
我想找到类似的NPC。类似的意思如下:每个NPC都可以与这6种能力建立相同的能力组合。插槽可互换,但a和b值始终保持在一起。
示例:在下表中,NPC 40和41会相似。 NPC 42与他们不相似,因为它不能构建相同的能力组合,即使6个法术ID是相同的:
NPC 40和41可以使用能力:492 + 429 + 538;
NPC 42不能,因为492和429在同一个插槽上。
NPC
+-----+---------+---------+---------+---------+---------+---------+
| id | slot_1a | slot_1b | slot_2a | slot_2b | slot_3a | slot_3b |
+-----+---------+---------+---------+---------+---------+---------+
| 39 | 384 | 202 | 389 | 392 | 459 | 278 |
| 40 | 429 | 535 | 492 | 357 | 538 | 536 |
| 41 | 492 | 357 | 429 | 535 | 538 | 536 |
| 42 | 492 | 429 | 357 | 535 | 538 | 536 |
+-----+---------+---------+---------+---------+---------+---------+
如果我没有弄错,类似的NPC有48种可能的组合。现在我想知道是否有更简单的解决方案来查找类似的NPC,然后检查所有48个组合?
SQL小提琴(新数据):http://sqlfiddle.com/#!9/4c1aae/1
编辑:忘记提到,即每个时隙的值可以切换其位置,也。这可能是为什么@Kostas Mitsarakis不能100%工作的原因。
你能在一个SQL小提琴提供一些样本数据? –
将SQL小提琴添加到原始帖子。 – sfey
它的工作原理。您已经忘记在'slot_1a'列中添加'2'到id 40(它是29而不是429)。 –