2012-02-06 76 views
0

我有5列。如何从其他列中不存在的列中选择不同的列?

我已经尝试了很多查询,但是,我不知道我在做什么。

我试过这个查询,还有更多,只是为了看看我能否得到它的工作。

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

表名是表名

的cols是Username | group1 | group2 | group3 | group4

我需要选择用户名中的名字,但不在其他列中。

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

谢谢你帮我今天学习。

+0

当用户名不在组列在同一行,或者行? – 2012-02-06 17:53:21

+0

任何行。我只想从col1获得唯一的用户名,这些用户名不在其他列中。 – James 2012-02-06 18:27:29

回答

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 
+0

谢谢。我也会尝试,但我需要深入了解它的功能,我可以理解。 – James 2012-02-06 20:00:22

+0

明天我会回来确认答案后,我得到了它。 – James 2012-02-07 00:30:10

+0

@Markus我收到了错误栏目列表中的'用户名'含糊不清 – James 2012-02-07 13:50:44

相关问题