MySQL 一次性查询两个表数据 返回后自动合并成一个表数据

阿里帽子 2020-08-13 09:32:14
表1
id mingzi neirong shijian
1 1 我是中国人 1990-01-01
2 2 我是日国人 1990-01-01
3 3 我是中国人 1990-01-01
4 4 我是中国人 1990-01-01

表2
id mingzi neirong shijian
1 6 我是中国人 1990-01-01
2 7 我是中国人 1990-01-01
3 9 我是美国国人 1990-01-01
4 11 我是日国人 1990-01-01


两个表 结构一样 ID是自增长

怎么用SQL 语句 一次查询两个表的neirong 模糊存在 中国两个字 %中国%

最后得到数据应该是这样

表3
id mingzi neirong shijian
1 1 我是中国人 1990-01-01
2 3 我是中国人 1990-01-01
3 4 我是中国人 1990-01-01
4 6 我是中国人 1990-01-01
5 7 我是中国人 1990-01-01


谢谢
...全文
1021 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2020-09-07
  • 打赏
  • 举报
回复
使用 UNION 查询 即可。 分别 Select 两张表 (包括like查询条件),由于查询结果的字段名称都是相同的,那么,注意前后位置要相同。 然后,在两个 Select 语句之间,添加 UNION 关键字,(如果中间有标点符号,就要去掉标点符号) 最后,整体执行一下 这个 长长的语句 即可。
yanele 2020-08-26
  • 打赏
  • 举报
回复
SELECT ROW_NUMBER() OVER (ORDER BY mingzi ) id ,*
FROM (SELECT * FROM 表1 WHERE neirong LIKE '%中国%'
UNION ALL
SELECT * FROM 表2 where neirong LIKE '%中国%') t
qq_25073223 2020-08-25
  • 打赏
  • 举报
回复
Hello World, 2020-08-14
  • 打赏
  • 举报
回复
DECLARE @表1 TABLE(id INT IDENTITY NOT NULL,  mingzi INT NOT NULL,  neirong NVARCHAR(100) NOT NULL,  shijian DATE NOT NULL)
INSERT @表1(mingzi, neirong, shijian)
VALUES( 1,'我是中国人','1990-01-01'),( 2,'我是日国人','1990-01-01'),( 3,'我是中国人','1990-01-01'),(4 ,'我是中国人','1990-01-01')

DECLARE @表2 TABLE(id INT IDENTITY NOT NULL,  mingzi INT NOT NULL,  neirong NVARCHAR(100) NOT NULL,  shijian DATE NOT NULL)
INSERT @表2(mingzi, neirong, shijian)
VALUES( 6,'我是中国人','1990-01-01'),( 7,'我是中国人','1990-01-01'),( 9,'我是美国国人','1990-01-01'),(11,'我是日国人','1990-01-01')

SELECT ROW_NUMBER() OVER (ORDER BY mingzi) id , t.mingzi,t.neirong,t.shijian FROM (
SELECT * FROM @表1 WHERE neirong LIKE '%中国%'
UNION ALL SELECT * FROM @表2 where neirong LIKE '%中国%') t
ORDER BY t.mingzi
阿里帽子 2020-08-13
  • 打赏
  • 举报
回复
没人了 大晚上

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧