gpt4 book ai didi

mysql - 合并对应的 MySQL 记录

转载 作者:行者123 更新时间:2023-11-29 02:31:30 32 4
gpt4 key购买 nike

我有一个名为“objecttable”的 MySQL 表,其中包含以下结构和数据。 (数据只是一个序列,还有更多)。

ID    |  Name              |  posX  |  posY   | posZ |rotX | rotY | rotZ | rotW  |  
3562 | LODpmedhos1_LAe | 2062 | -1703 | 16 | 0 | 45 | 22 | 1 |
3559 | LODpmedhos5_LAe | 2021 | -1717 | 15 | 0 | 45 | 34 | 1 |
3561 | LODpmedhos3_LAe | 2021 | -1717 | 15 | 0 | 45 | 34 | 1 |

我想找出哪些记录具有相同的 posX、posY、posZ、rotX、rotY 和 rotZ 值,并将它们插入到名为“matchtable”的表中,最后我希望它看起来像这样(我有表结构准备好)

ID1     |       Name            |   ID2     |   Name          |  
3559 | LODpmedhos5_LAe | 3561 | LODpmedhos3_LAe|

如果有人能给我正确的 SQL 查询,我将不胜感激。我没有超过两个匹配的坐标,并且并非所有坐标都匹配。

抱歉,如果表格表示很糟糕,我会在必要时尝试制作一个 HTML 表格。

谢谢!

最佳答案

这个查询可以解决问题,但结果的数量可能比需要的多很多。例如,如果有 5 行满足您的查询,那么结果的数量将为 20( = n*(n-1) )

SELECT ot.ID AS ID1, ot.Name AS Name1, ot2.ID AS ID2, ot2.Name AS Name
FROM objecttable ot
JOIN objecttable ot2
ON ot.ID > ot2.ID
AND ot.posX = ot2.posX
AND ot.posY = ot2.posY
AND ot.posZ = ot2.posZ
AND ot.rotX = ot2.rotX
AND ot.rotY = ot2.rotY
AND ot.rotZ = ot2.rotZ

编辑

回复lserni的评论:

ON ot.ID <> ot2.ID

上面的条件是删除结果,如:

ID1     |       Name            |   ID2     |   Name          |
3559 | LODpmedhos5_LAe | 3559 | LODpmedhos5_LAe|

关于mysql - 合并对应的 MySQL 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12552234/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com