如何从其他列中不存在的一列中选择不同的?

时间:2012-02-06 17:32:24

标签: mysql

我有5列。

我尝试过很多查询,但我不知道自己在做什么。

我尝试了这个查询,以及更多,只是为了看看我是否可以让它工作。

SELECT DISTINCT(username) FROM `tablename` WHERE username NOT IN (SELECT group1 FROM tablename)

表名是tablename

cols是用户名| group1 | group2 | group3 | GROUP4

我需要选择用户名中的名称而不是其他列中的名称。

这可能吗?我需要将查询代码放入phpmyadmin查询输入区域。

感谢您今天帮助我了解这一点。

1 个答案:

答案 0 :(得分:0)

你可以通过JOIN来解决这个问题:

SELECT DISTINCT(t1.username)
FROM tablename t1
LEFT JOIN tablename t2
  ON t2.group1 = t1.username
LEFT JOIN tablename t3
  ON t3.group2 = t1.username
LEFT JOIN tablename t4
  ON t4.group3 = t1.username
LEFT JOIN tablename t5
  ON t5.group4 = t1.username
WHERE t2.username IS NULL
  AND t3.username IS NULL
  AND t4.username IS NULL
  AND t5.username IS NULL