mysql - 在 MySQL 中追加两个表中的数据并删除重复项(忽略大小写)

标签 mysql

表1名称:STAT

P2
--------
ABC     
def
ghi    

表2名称:MI

P2
--------
abc     
def
GHI    

我需要一些帮助来创建一个新表以附加这两个具有相同列名的表 并忽略 CASE 删除重复项

预期结果 输出表3名称:组合

P2
--------
ABC     
def
ghi

如果表 1 和表 2 中的值相同,仅情况不同,则在组合表中,方程可以选取任何值(即从第一个表或第二个表中选取任何值,但不能同时选取两者)

最佳答案

UNION 是一个集合运算符,就是为此目的而创建的。

CREATE TABLE newtable AS
(
    SELECT p2 COLLATE utf8_general_ci FROM STAT
     UNION
    SELECT p2 FROM MI
)

这假设两个表都使用 utf8 字符集。 COLLATE 子句根据您的要求使用不区分大小写的排序规则覆盖 UNION 操作的默认排序规则,以忽略大小写。

如果您的表以其他字符集存储数据,则需要适合该字符集的排序规则。

关于mysql - 在 MySQL 中追加两个表中的数据并删除重复项(忽略大小写),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54145975/

相关文章:

MySQL 日期时间字段 - 无法写入日期

mysql - SQL 分组依据和两列聚合

mysql - 使用 MySQL 的 UTC 到 America/New_York 时区

javascript - (添加 SQL)Sequelize hasMany 与选项关联

php - 带有预准备语句的 Zend db 无法获取所有数据

mysql - 如何将excel中的日期格式更改为文本,以便它可以在mysql中转换

php - MySQL更新连接性能

php - 分页 MySQL PHP

mysql - sqlfiddle.com 5.5.30 和 MariaDB 5.5.31 中的不同结果

mysql - 使用附加维度表作为始终存在的维度