好的。让我们更清楚一点。
我想做的是以下几点:
我有一张这样的桌子...
+---------+--------------------+------------------ --------+ | 编号 | 姓名 | 电子邮件 | +---------+--------------------+------------------ --------+ | 1 | 卡尔 | karl@email.com | +---------+--------------------+------------------ --------+ | 2 | 弗雷德 | 弗雷德@email.com | +---------+--------------------+------------------ --------+ | 3 | 克里斯托弗 | chris@email.com | +---------+--------------------+------------------ --------+
我想要结束的是一个新表,如下所示:
+-----+---------------+---------+-- ---------+--------+ | 编号 | 名称1 | 电子邮件1 | 名称2 | 电子邮件2 | +-----+---------------+---------+-- ---------+--------+ | 1 | 弗雷德 | 弗雷德@email.com | 克里斯托弗 | chris@email.com | +-----+---------------+---------+-- ---------+--------+ | 2 | 克里斯托弗 | chris@email.com | 卡尔 | karl@email.com | +-----+---------------+---------+-- ---------+--------+ | 3 | 卡尔 | karl@email.com | 弗雷德 | 弗雷德@email.com | +-----+---------------+---------+-- ---------+--------+
这些值在水平方向 (id[1].name1 != id[1].name2) 和垂直方向 (id[1].name1 != id[2].name1) 是唯一的。
因此,这个输出应该是不可能的:
+-----+---------------+---------+-- ---------+--------+ | 编号 | 名称1 | 电子邮件1 | 名称2 | 电子邮件2 | +-----+---------------+---------+-- ---------+--------+ | 1 | 弗雷德 | 弗雷德@email.com | 克里斯托弗 | chris@email.com | +-----+---------------+---------+-- ---------+--------+ | 2 | 弗雷德 | 弗雷德@email.com | 卡尔 | karl@email.com | +-----+---------------+---------+-- ---------+--------+ | 3 | 卡尔 | karl@email.com | 卡尔 | karl@email.com | +-----+---------------+---------+-- ---------+--------+
我怎样才能以简单的方式实现这一目标?