gpt4 book ai didi

mysql - 合并 2 个表的数据,以便遵循明确的顺序

转载 作者:行者123 更新时间:2023-11-29 06:16:47 31 4
gpt4 key购买 nike

我有 2 个 MySQL 表

第一个表

 |Name   |    Value |
----------------------------
|Martin | Yes |
|Joseph | Yes |
|Joseph | Yes |
|Jack | No |

第二表

 |Name           |    Value |
---------------------------------------
|Joseph Desouza | Yes |
|Joseph Desouza | Yes |

“firstTable”的规范是它包含所有类型的记录“secondTable”的规范是它只包含“Joseph Dezouza”的记录

现在,我怎样才能通过 MySql 查询获得最终结果数组,这样我得到如下合并结果,这样 Joseph 的列表应该首先出现,然后应该开始 Joseph Desouza 的列表

 |Name           |    Value |
----------------------------
|Martin | Yes |
|Joseph | Yes |
|Joseph | Yes |
|Joseph Desouza | Yes |
|Joseph Desouza | Yes |
|Jack | No |

我唯一理解的是我可以使用 Union 获得它,但无法弄清楚如何获得正确的序列。

最佳答案

使用以下内容:

SELECT * FROM
(SELECT * FROM firstTable
UNION ALL
SELECT * FROM secondTable) a
ORDER BY Name DESC;

它给出了这个命令:

Name           value
-------------------
Martin Yes
Joseph Desouza Yes
Joseph Desouza Yes
Joseph Yes
Joseph Yes
Jack No

或者您可以指定想要的顺序(在这种情况下您应该已经知道值!!)

SELECT * FROM
(SELECT * FROM firstTable
UNION ALL
SELECT * FROM secondTable) a
ORDER BY FIELD(Name, "Martin", "Joseph", "Joseph Desouza", "Jack");

将给出:

Name           value
-------------------
Martin Yes
Joseph Yes
Joseph Yes
Joseph Desouza Yes
Joseph Desouza Yes
Jack No

如果某些值不包含在FIELD中,默认情况下它们将按 ASC 顺序列在第一位!!

关于mysql - 合并 2 个表的数据,以便遵循明确的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35432348/

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