gpt4 book ai didi

mysql - SQL 连接尊重顺序的两个表

转载 作者:行者123 更新时间:2023-11-30 00:36:31 25 4
gpt4 key购买 nike

我有两张 table 。表1存储了代码的位置顺序。表2存储每个代码的信息。我正在尝试执行一个查询,该查询完成了 id,返回每个代码的顺序及其相关信息。

TABLE1
+-------+-----------+----------+-----------+-----------+-----------+
| id | position1 | positon2 | position3 | position4 | position5 |
+-------+-----------+----------+-----------+-----------+-----------+
| id1 | AA | CC | BB | EE | DD |
|-------|-----------|----------|-----------|-----------|-----------|
| id2 | BB | AA | DD | EE | CC |
+-------+-----------+----------+-----------+-----------+-----------+

TABLE2
+------+------------+--------------------+
| code | name | active_icon |
+------+------------+--------------------+
| AA | nameA | iconA |
| BB | nameB | iconB |
| CC | nameC | iconC |
| DD | nameD | iconD |
| EE | nameE | iconE |
+------+------------+--------------------+

完成一个id(例如id = id2),我期望的结果是:

+----------------+------+------------+--------------------+
| position | code | name | active_icon |
+----------------+------+------------+--------------------+
| 1 | BB | nameB | iconB |
| 2 | AA | nameA | iconA |
| 3 | DD | nameD | iconD |
| 4 | EE | nameE | iconE |
| 5 | CC | nameC | iconC |
+----------------+------+------------+--------------------+

有什么想法吗?我认为必须有一个 INNER JOIN 但我不知道如何构造它。

最佳答案

这是一个非规范化的设计。如果你能正确地建模它会容易得多。它也会更具可扩展性。

我会为表 1 提供一列位置信息,为表 2 提供一个外键作为代码。那时您可以拥有任意数量的代码。重新排序意味着改变位置值。然后 JOIN 会自行编写:只需添加一个 ORDER BY 位置即可。

关于mysql - SQL 连接尊重顺序的两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22127506/

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