2014-09-30 52 views
0

我会提前道歉,因为这可能已在某个地方得到解答,但似乎无法找到我需要的答案,并且无法管理以适应我发现符合我需要的其他代码。MySQL根据其他列上的相似性制作一列中的值

我有一个表,如下所示:

NAME   PAPER 
    A    10 
    B    20 
    C    10 
    D    30 
    A    40 
    C    20 
    E    30 
    F    40 
    G    10 

我想产生一对价值的名义,如果他们有相同的纸张。并且这两列可以有重复的号码。

例如,上述的结果将是:

NAME   NAME 
    A    C 
    B    C 
    D    E 
    A    F 
    A    G 
    B    G 

有mysql中的任何功能,可以做到这一点?

+0

'B'和'G' ??? – 2014-09-30 17:23:43

回答

2
select a.name, b.name 
from myTable a 
inner join myTtable b 
on a.paper=b.paper and a.name<b.name 

SQL FIDDLE TEST

结果

A C 
B C 
D E 
A F 
A G 
C G 
+1

你真的想'''。 – 2014-09-30 17:24:36

+0

@GordonLinoff更正,谢谢 – Horaciux 2014-09-30 17:26:56

相关问题