mysql - 根据我从中选择的表设置 View 的列值

标签 mysql sql

我正在从 2 个表创建一个 View 。我需要在 View 中创建一个全新的列;当我从第一个表中选择时,此列必须设置为 0,从第二个表中选择时必须设置为 1:

Table A:
+---------+---------+
|column A |column B |
+---------+---------+
|  Boston |   USA   |
+---------+---------+
| Chicago |   USA   |
+---------+---------+
|Las Vegas|   USA   |
+---------+---------+

Table B:
+---------+---------+
|column A |column B |
+---------+---------+
|  Paris  |  Europe |
+---------+---------+
|  Madrid |  Europe |
+---------+---------+
|  London |  Europe |
+---------+---------+

Resulting View:
+---------+---------+---------+
|column A |column B | column C|
+---------+---------+---------+
|  Boston |   USA   |    0    |
+---------+---------+---------+
| Chicago |   USA   |    0    |
+---------+---------+---------+
|Las Vegas|   USA   |    0    |
+---------+---------+---------+
|  Paris  |  Europe |    1    |
+---------+---------+---------+
|  Madrid |  Europe |    1    |
+---------+---------+---------+
|  London |  Europe |    1    |
+---------+---------+---------+

最佳答案

只需使用带有计算列的并集:

SELECT columnA, columnB, 0 AS columnC FROM TableA
UNION ALL
SELECT columnA, columnB, 1 FROM TableB
ORDER BY columnC;

关于mysql - 根据我从中选择的表设置 View 的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62189338/

相关文章:

Mysql 计算每个值的频率并按另一个值分组(二维表)

mysql - SQL 查询字符串中的可选变量

c# - 无法使用 C# 将数据插入 SQL 数据库

MySQL 在同一个表中选择和计数

java - mysql中如何实现两个表之间的两个关联

MySQL性能: store Boolean values (flags) in one row as an aggregated number or not?

php - $_POST 变量不适用于 $_FILES 和 multipart/form-data

php - SQLSTATE[42S22] : Column not found: 1054 Unknown column in laravel

MYSQL合并多个子查询的结果

MySQL:连接 2 个表并显示子表的最后日期