本文介绍了匹配两个字段并具有另一个公共字段的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查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 13:53