我有一些名字:
ID NAME
1 A
2 B
3 C
4 D
我想将它们作为矩阵插入:
ID NAME1 NAME2
A B
A C
A D
B C
B D
C D
所以NAME1 <> NAME2
和组合可能只发生一次。
答案 0 :(得分:3)
这样的事情:
SELECT t1.Name, t2.Name
FROM mytable AS t1
INNER JOIN mytable AS t2 ON t1.Name < t2.Name
ORDER BY t1.Name, t2.Name
我们的想法是对所有后续行执行自联接。
答案 1 :(得分:2)
或者您也可以尝试:
SELECT t1.name, t2.name FROM table_name t1
LEFT JOIN table_name t2 ON t1.name != t2.name AND t1.ID < t2.ID
WHERE t2.name IS NOT NULL
ORDER BY t1.name ASC, t2.name ASC;