根据所有其他颜色生成颜色列表

时间:2013-04-08 16:44:17

标签: mysql sql

正如标题所示,我需要一些指导。目前我所拥有的是相当接近的,只是每种颜色中的一种颜色在重复,我似乎无法理解它。

这是我的表:

  CREATE TABLE Colors
   (c_ID VARCHAR2(3) NOT NULL,
    c_NAME VARCHAR2(11));

  INSERT INTO Colors VALUES
    ('T01','RED');
  INSERT INTO Colors VALUES
    ('T02','BLUE');
  INSERT INTO Colors VALUES
    ('T03','BLACK');
  INSERT INTO Colors VALUES
    ('T04','YELLOW');
  INSERT INTO Colors VALUES
    ('T05','ORANGE');

我使用的查询:

 select distinct a.c_name as "HOME", s.c_name as "AWAY"
 from colors a, colors s
 order by a.c_name;

结果如下:

 Black     Black
 Black     Blue
 Black     Orange
 Black     Red
 Black     Yellow

每种颜色都会发生这种情况,但正如您所看到的那样,每种颜色都会重复出现。如何在不删除的情况下摆脱它?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以像这样更改您的查询:

select distinct a.t_name as "HOME", s.t_name as "AWAY"
from teams a, teams s
where a.t_name <> s.t_name -- or this if you need to check on id instead a.t_id <> s.t_id
order by a.t_name;