mysql - MySQL 中的完全外连接而不重复值

标签 mysql join

请在此处查看我的示例数据: http://sqlfiddle.com/#!2/12bda/3/0

结果不是我想要的。有没有办法显示结果表如下:

EMPLID  NAME    NAMETYPE    GENDER  VISA      Passport
10001   CAT     PRI         F       A         USA
10001   DOG     SEC         null    null      GBR
10001   FISH    LEG         null    null      null
10002   FOOD    PRI         F       V         USA
10002   null    null        null    A         null
10003   FOOD    PRI         M       C         null
10003   null    null        null    B         null
10004   FOOD    PRI         M       D         null

我从这篇文章中研究了解决方案:full outer join in mysql

但是,我需要重复值为null。可能吗?

最佳答案

简单的答案是否定的。

长的答案是肯定的,但你真的不应该这样做。

要强制 MySQL 在重复行上显示空值,您必须维护状态,并大幅降低查询性能。

处理应用程序逻辑中的重复要好得多,但是这里有一个 sql fiddle演示如何实现它。

关于mysql - MySQL 中的完全外连接而不重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26961859/

相关文章:

mysql - 为什么SQL选择连接索引不一致?

PHP、MySQL : Select inside a while Loop?

php - OSCommerce tep_db_input 与 tep_db_prepare_input

sql - 除了在一个查询中的子查询之外,我如何运行它?

php - mysql join 未正确执行

mysql - 订购两个合并查询

PHP - 将字符串添加到数组

php - 使用 php 数组更新 mysql 表

mysql - 在高可用性系统中使用非常大的表的技术

Mysql在1中进行3个查询并提高性能