关于#数据库#的问题:

在一个数据库,存在表A、表B,它们的字段格式类型有相同的,也有不同的;
根据表A和表B生成了表C,
表C是否可以存在这样的字段:
1、说明表C中的记录是来自哪张表的字段
2、只有表B中才存在的两个字段,并且合并为一个字段(但是会在一个字段里做区分);如果记录来自表B,该字段显示为合并的字段,如果记录来自表A,该字段显示为“无”

类似下面这样:

表A
| 名称 | 颜色 | 形状 |
| ------ | ------ | ------ |
| 土豆 | 棕色 | 椭圆 |
表B
| 名称| 味道| 果实 |
| ------ | ------ | ------ |
| 苹果 | 甜 | 黑 |
| 柠檬 | 酸 | 白 |
表C
| 名称 | 来源表 | 表B的合并字段(味道+果实) |
| ------ | ------ | ------ |
| 土豆 | A | 无 |
| 苹果 | B | 甜【黑】 |
| 柠檬 | B | 酸【白】 |

是可以的,可以在表C中增加一个字段,用来标识记录来源表,然后在表C中增加一个字段,用来合并表B中的两个字段,并区分出它们来源于哪张表,如果记录来源于表A,则显示为“无”。

该回答引用ChatGPT

根据表A和表B生成的表C可以有这样的字段。可以创建一个“来源表”列,用于标识该记录是来自表A还是表B。同时,可以创建一个计算列,该列将表B中的两个字段合并为一个字段,并根据“来源表”列对该字段进行不同的显示。

例如,可以使用以下SQL查询语句生成表C:


SELECT 名称, 'A' AS 来源表, '无' AS 表B的合并字段
FROM 表A
UNION ALL
SELECT 名称, 'B' AS 来源表, CONCAT(味道, '【', 果实, '】') AS 表B的合并字段
FROM 表B

此查询将从表A中选择记录并添加“来源表”列和“表B的合并字段”列,其中“来源表”列值为“A”,“表B的合并字段”列值为“无”。然后,它从表B中选择记录并添加相同的列,但是“来源表”列值为“B”,并且“表B的合并字段”列值为合并的字段值。

如果表C是根据表A和表B生成的,说明它没有更多的信息,全是冗余的,那么它根本就不应该存在
你写个联合查询就行了