本文介绍了匹配两个字段并具有另一个公共字段的MySQL查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个这样的SQL表:
I have an SQL table like this:
id | f1 | f2
1 | a | hi
2 | a | sup
3 | b | hi
我需要一个查询来获取f2 = hi或f2 = sup的行,但前提是f1在两行中具有相同的值.因此我的查询将获取ID 1和ID 2,但不是3
I need a query that grabs the rows where f2 = hi OR f2 = sup, but only if f1 has the same value in both rows. So my query would grab id 1 and id 2, but NOT 3
所以基本上是这样-
SELECT * FROM `table` WHERE (`f2` = 'hi' OR `f2` = 'sup') AND 'f1-is-the-same'
推荐答案
SELECT *
FROM YourTable t1
INNER JOIN YourTable t2
ON t1.f1 = t2.f1
WHERE t1.f2 = 'hi'
AND t2.f2 = 'sup'
这篇关于匹配两个字段并具有另一个公共字段的MySQL查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!