首页 > 解决方案 > 将两个人配对的 SQL 查询

问题描述

我想在同一日期将一个代码为 111 的人和一个代码为 222 的人配对。

Name          Code    Date
Joe Doe        111    2020-04-01
Jane Dane      222    2020-04-02 
Billy Bob      111    2020-04-02
Lame Jame      222    2020-04-01

从示例表中:Joe Doe(111 和日期 2020-04-01)应与 Lame Jame(222 和与 Joe Doe 相同的日期)配对,Jane Dane(222 和日期 2020-04-02)应与比利配对Bob (111 和 Jane Dane 同日)

如何编写 MS Access SQL 查询来实现这一点?我相信应该有某种带有 UNION 和/或 JOIN 的子查询,但我不能让它工作。

标签: sqlms-access

解决方案


这是你想要的吗?

select t1.name, t2.name, t1.date, t1.code
from t as t1 inner join
     t as t2
     on t1.date = t2.date and
        t1.code = t2.code and
        t1.name < t2.name

推荐阅读