重复某些行的查询

agxfikkp  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(211)

我有一个这样的数据库,我想检索一些数据:

当我做一个查询来检索所有的东西时,我得到了这样的回答:

+----------+----------------------------------+---------------+---------------+----------+-------------+--+
| id_stats |            nom_stats             | id_equipement | id_equipement | id_stats | id_elements |  |
+----------+----------------------------------+---------------+---------------+----------+-------------+--+
|        3 | PO                               |             1 | NULL          | NULL     | NULL        |  |
|       25 | Maîtrise Distance                |             1 | NULL          | NULL     | NULL        |  |
|       29 | Points de Vie                    |             1 | NULL          | NULL     | NULL        |  |
|       33 | Résistance Élémentaire Aléatoire |             1 | NULL          | NULL     | NULL        |  |
|       12 | Esquive                          |             8 | NULL          | NULL     | NULL        |  |
|       13 | Tacle                            |             8 | NULL          | NULL     | NULL        |  |
|       15 | Parade                           |             8 | NULL          | NULL     | NULL        |  |
|       22 | Résistance Feu                   |             8 | NULL          | NULL     | NULL        |  |
|       23 | Résistance Eau                   |             8 | NULL          | NULL     | NULL        |  |
|       29 | Points de Vie                    |             8 | NULL          | NULL     | NULL        |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 8             | 32       | 1           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 15            | 32       | 1           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 8             | 32       | 3           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 15            | 32       | 3           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 8             | 32       | 4           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 15            | 32       | 4           |  |
|        1 | PA                               |            15 | NULL          | NULL     | NULL        |  |
|        2 | PM                               |            15 | NULL          | NULL     | NULL        |  |
|        4 | % Coup Critique                  |            15 | NULL          | NULL     | NULL        |  |
|       24 | Résistance Élémentaire           |            15 | NULL          | NULL     | NULL        |  |
|       27 | Maîtrise Zone                    |            15 | NULL          | NULL     | NULL        |  |
|       29 | Points de Vie                    |            15 | NULL          | NULL     | NULL        |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 8             | 32       | 1           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 15            | 32       | 1           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 8             | 32       | 3           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 15            | 32       | 3           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 8             | 32       | 4           |  |
|       32 | Maîtrise Élémentaire Aléatoire   |             8 | 15            | 32       | 4           |  |
+----------+----------------------------------+---------------+---------------+----------+-------------+--+

使用此查询:

SELECT * FROM stuff S
INNER JOIN stuff_equipement ES ON S.id_stuff = ES.id_stuff
INNER JOIN equipement_stats SA ON SA.id_equipement = ES.id_equipement
INNER JOIN stats ST ON ST.id_stats = SA.id_stats
LEFT JOIN stuff_equipement_stats_elements STA ON STA.id_stats = ST.id_stats

“stuff\u equipment\u stats\u elements”中的数据是:

所以我真的不明白为什么我有重复的数据。当你看我得到的答复,我应该只有3个条目“马î特里斯é我é门泰艾尔é每个id设备的“火焰”。对于定义的“id\u设备”,我还有实体“stuff\u equipment\u stats\u elements”中的其他条目,无论id\u设备是否相同。。。
我已经尝试了其他一些查询,例如,通过以下方式更改初始查询的最后一行:

LEFT JOIN stuff_equipement_stats_elements STA ON SA.id_equipement = STA.id_equipement

但现在我有了相当多的“妈妈”î特里斯é我é门泰艾尔éatoire“但是最后4行在它们不应该存在时被填充,因为我还没有填充它们,其他重复的数据现在就被填充了。
编辑:
东西有一些装备
设备有一些统计数据
统计有一些要素,但仅限于某些统计
对于那些有元素(土、风、火、水)的科学家来说,你可以选择那些元素。
要知道一个“stuff”选择了哪些元素,你必须知道你所使用的元素、相关的设备和相关的stat,因为这只是一些stats,最后是他选择的元素,我制作了一个包含多个主键的表

id_stuff | id_equipement | id_stats | id_elements
e1xvtsh3

e1xvtsh31#

我通过隐藏带有where子句的重复行来解决问题:

AND ES.id_equipement = OS.id_equipement OR OS.id_equipement IS NULL

这样,所有重复的行都会消失。

相关问题