Mysql 从三个表中选择数据

Mysql 从三个表中选择数据,mysql,Mysql,首先,这些表没有任何关系,因此我不能使用连接 我得到了三个表和另一个数据,我需要在一个查询中显示这三个表中的所有数据和一个结果 例如,我得到: 热点新闻包含的表格标题,文本,图标行 坏消息包含的表标题,文本,图标行 好消息包含的表标题,文本,图标行 我需要在一个查询中撤销所有新闻。可能吗?使用: 请注意,UNION将删除重复项。如果要保留副本,请改用UNION ALL。使用: 请注意,UNION将删除重复项。如果要保留副本,请改用UNION ALL。检查UNION运算符检查UNION运算符如果我

首先,这些表没有任何关系,因此我不能使用
连接

我得到了三个表和另一个数据,我需要在一个查询中显示这三个表中的所有数据和一个结果

例如,我得到:

热点新闻
包含的表格<代码>标题
文本
图标

坏消息
包含的表<代码>标题,
文本
图标

好消息
包含的表<代码>标题,
文本
图标

我需要在一个查询中撤销所有新闻。可能吗?

使用:

请注意,UNION将删除重复项。如果要保留副本,请改用UNION ALL。

使用:


请注意,UNION将删除重复项。如果要保留副本,请改用UNION ALL。

检查UNION运算符

检查UNION运算符

如果我没有看错您的问题:

SELECT title, text, icon, 'News' AS type
FROM HotNews
UNION ALL
SELECT title, text, icon, 'Bad' AS type
FROM BadNews
UNION ALL
SELECT title, text, icon, 'Good' AS type
FROM GoodNews

通过包含
类型
,这意味着无论您使用什么方式向用户呈现此数据,都可以知道它是什么类型的新闻。

如果我没有看错您的问题:

SELECT title, text, icon, 'News' AS type
FROM HotNews
UNION ALL
SELECT title, text, icon, 'Bad' AS type
FROM BadNews
UNION ALL
SELECT title, text, icon, 'Good' AS type
FROM GoodNews

通过包含
类型
,这意味着无论您使用什么方式向用户呈现此数据,都可以知道它是什么类型的新闻。

再加上您的示例,如果您使用“SELECT*”,则整个表结构必须相同,否则您可以选择单个列,只要它们是等价的。我总是收到这样的错误:
一般错误:1271操作“UNION”的排序规则非法混合
。嗯,看起来您的表有不同的字符集?这意味着其他表中的某些列是不同的排序规则,有些可能是UTF-8,有些是ISO-8859-1,有些可能使用不区分大小写的比较,等。您可以使用来指定选择时要使用的排序规则。但最好在数据库设计中保持一致。当我们讨论数据库设计时,您可能最好首先将所有数据存储在一个表中,并使用列来区分“热门”、“好”和“坏”消息。再加上您的示例,如果使用“SELECT*”,则整个表结构必须相同,否则您可以选择单个列,只要它们是等价的。我总是收到这样的错误:
一般错误:1271操作“UNION”的排序规则非法混合
。嗯,看起来您的表有不同的字符集?这意味着其他表中的某些列是不同的排序规则,有些可能是UTF-8,有些是ISO-8859-1,有些可能使用不区分大小写的比较,等。您可以使用来指定选择时要使用的排序规则。但最好在数据库设计中保持一致。当我们讨论数据库设计时,您可能首先最好将这些数据存储在一个表中,并使用一列来区分“热门”、“好”和“坏”消息。@MikeChristensen,不是我-显然:)@MikeChristensen,不是我-显然:)收到此错误:`一般错误:1271操作“UNION”的排序规则非法混合,与Mark Byers answer中的相同。@Cyclone,您的表中是否有相同的字符集?收到此错误:`一般错误:1271操作“UNION”的排序规则非法混合,与Mark Byers answer中的相同。@Cyclone,表中是否有相同的字符集?
SELECT title, text, icon, 'News' AS type
FROM HotNews
UNION ALL
SELECT title, text, icon, 'Bad' AS type
FROM BadNews
UNION ALL
SELECT title, text, icon, 'Good' AS type
FROM GoodNews