如果它出现在表的其他位置,请选择值

时间:2013-06-09 00:34:39

标签: mysql sql

我正在使用mysql,我对于倒数出现在表中不同行的行感兴趣。

想象一下2列,每列都有字母a到z。

让我们说row1有a,b,row2有a,c,而row 3有c,a。我对a,c感兴趣,因为它在表中的不同行中显示为c,a和a,c。

我是否必须使用嵌套选择?或者也许是一个存在条款?

2 个答案:

答案 0 :(得分:2)

我相信这就是你所追求的,一个自我加入:

SELECT t1.*
FROM table1 t1
JOIN table1 t2
 ON t1.col1 = t2.col2
 AND t1.col2 = t2.col1

这是一个SQL小提琴演示:SQL Fiddle

答案 1 :(得分:0)

还可以使用SELECT REVERSE('abc')与{spencer7593上面的http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_reverse

`SELECT t1.*
FROM table1 t1
JOIN table1 t2
 ON t1.col1 = t2.col2
 AND t1.col2 = t2.col1`