mysql - 将表合并为 1,并带有指示相应表条目的标志

标签 mysql sql

我有 2 个表。

1.home_shop

+---+------------+
|id | product    |   
+---+------------+
| 1 | soap       | 
| 2 | cake       | 
| 3 | biscuit    | 
+---+------------+

2.office_shop

+---+------------+
|id | product    |   
+---+------------+
| 1 | key        | 
| 2 | lock       | 
| 3 | pen        | 
+---+------------+

我想要的是将这两个表合并到一个新表“complete_shop”中,并带有一个表示“home”和“office”的标志 例如:

+---+------------+-------------+
|id | product    |    flag     |
+---+------------+-------------+
| 1 | soap       | home        |
| 1 | key        | office      |
| 2 | cake       | home        |
| 2 | lock       | office      |
| 3 | biscuit    | home        |
| 3 | pen        | office      |
+---+------------+-------------+

我如何在 mysql 中执行此联合请帮助我。我是初学者

最佳答案

执行 UNION 查询并使用适当的值引入 flag 列。

SELECT id, product, 'home' AS flag
FROM home_shop
UNION ALL
SELECT id, product, 'office' AS flag
FROM office_shop
ORDER BY id, flag

请注意,您无需使用子查询来进行此处排序,您只需指定要使用的列即可。

关于mysql - 将表合并为 1,并带有指示相应表条目的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40231790/

相关文章:

java - 具有 blob 的文件中的多个成员

php - 向查询添加行的语法

mysql - SQL 使用 View 更新表

sql - firebird 中的 row_number 错误

mysql - GROUP_CONCAT 根据副表排序

MySql如何从一个表中选择所有问题及其答案

php - PHP while循环中MYSQL更新和删除查询

php - WP_Query 即使只有一个结果也输出两次

javascript - 形成多行插入的数组格式nodejs-mysql

sql - 如何将分钟的时间值四舍五入为小时?