MySQL返回另一列中存在一个值的行

时间:2014-10-23 20:30:00

标签: mysql

我确信之前已经问过,但我认为我没有正确地搜索它。 我有一张这样的桌子:

SITE        STATUS        NEXT_SITE
chicago     good          cleveland
pittsburgh  bad           philadelphia
cleveland   bad           columbus
columbus    good          pittsburgh
pittsburgh  bad           chicago

我想要做的是选择NEXT_SITE实际存在于SITE某处的行。所以我的查询不会返回第二行,因为费城在SITE栏中的任何地方都不存在。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:3)

select * from your_table
where next_site in 
(
  select distinct site from your_table
)

答案 1 :(得分:1)

您可以加入自己。通过加入next_site = site,您只会返回匹配的值,因此只返回site_中存在next_site的值。

select distinct t1.next_site
from your_table t1
join your_table t2 on t1.next_site = t2.site;