最近我遇到了以下测验。想象一下,我们有这个表
+--------+
| colors |
+--------+
| red |
| black |
| white |
| green |
| orange |
+--------+
任务是编写一个SQL查询,它将选择所有对而不允许重复。排列也被计算({red,black} = {black,red},因此只允许其中一个)。
答案 0 :(得分:27)
试试这个
Select A.Color, B.Color
From Colors A
Cross Join Colors B
Where A.Color > B.Color
答案 1 :(得分:0)
Select A.Colors, B.Colors From Colors A
Cross Join Colors B Where A.Colors < B.Colors or B.colors < A.colors
答案 2 :(得分:0)
试试这个:
Select * From colours A
Cross Join colours B Where A.colours < B.colours or B.colours > A.colours
and b.colours != b.colours and a.colours != a.colours