我有2个MySQL表
firstTable
|Name | Value |
----------------------------
|Martin | Yes |
|Joseph | Yes |
|Joseph | Yes |
|Jack | No |
secondTable
|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来解决这个问题,但无法弄清楚如何使序列正确。
答案 0 :(得分:1)
使用以下内容:
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顺序列出!!
答案 1 :(得分:1)
两个表都应该具有相同的字段:
//create new stage
Stage stage1 = new Stage();
stage1.addActor(oldScreen.playButton);
Gdx.input.setInputProcessor(stage1);
答案 2 :(得分:0)
通过使用UNION,我们无法显示所有值,因为UNION不允许重复值。因此,使用UNION ALL获取所有数据