Mysql 在一列中合并两个表第一类MSYQL

Mysql 在一列中合并两个表第一类MSYQL,mysql,union,Mysql,Union,朋友和搜索信息并找到帮助,想要创建一个查询,将两个表分组在一列中,并在shits组之间创建一个分隔,例如 故事1变体 id id_category name 1 101 red 2 101 blue 3 101 green 4 102 dog 5 102 cat 表2类别 id name 101 colors 102 animals Mysql结果查询 一列: colors "Category

朋友和搜索信息并找到帮助,想要创建一个查询,将两个表分组在一列中,并在shits组之间创建一个分隔,例如

故事1变体

id id_category name
1     101      red
2     101      blue
3     101      green
4     102      dog
5     102      cat
表2类别

id   name 
101  colors
102  animals
Mysql结果查询

一列:

colors "Category name"
red
blue
green
dog
cat
<<<"newline"
animals "Category name"
dog
cat

如果只需要一列,请仅选择一列

SELECT name from table1
UNION
SELECT "\n"
UNION
SELECT name from table2
使用union all将所有结果合并到单个结果集中:

select `name` as categoryname from table1
union all
select null --this is the "newline"
union all
select `name` from table2

尽管如此,我还是希望在格式化结果时在应用程序代码中添加新行

此查询将对您显示的数据执行此操作

SELECT CONCAT(name, ' Category') AS heading
FROM category
WHERE id = 101
UNION ALL
SELECT name
FROM variants
WHERE id = 101
UNION ALL
SELECT '' -- blank line
SELECT CONCAT(name, ' Category') AS heading
FROM category
WHERE id = 102
UNION ALL
SELECT name
FROM variants
WHERE id = 102

如果您希望能够在不硬编码ID的情况下对所有类别执行此操作,则需要编写动态SQL,或者使用客户机编程语言执行此操作。这在普通SQL中是不可能的。

为什么在颜色下有狗和猫?有时我希望我可以向下投票两次。@juergend Classic:-编写一个获取所有颜色的查询和一个获取所有动物的查询。然后将它们与UNION组合。如果我想在同一列中按类别cons变体对结果进行分组,谢谢,但在前排,我想将类别名称及其变体的标题放在标题下,换行符和下一个类别的名称及其下面的变体。然后需要将select语句分离到union,在union中选择所需的任何文本,类似于select null查询。因为我可以按类别对结果进行分组?在你的分类下显示的是什么?谢谢,对不起,我不明白你的最后一个问题。