SQL

匹配两个字段并具有另一个公共字段的MySQL查询

发布于 2021-06-15 11:15:22

我有一个像这样的SQL表:

id |  f1 | f2
 1 |  a  | hi
 2 |  a  | sup
 3 |  b  | hi

我需要一个查询来获取f2 = hi或f2 = sup的行,但前提是f1在两行中都具有相同的值。所以我的查询将获取ID 1和ID 2,但不是3

所以基本上这个-

SELECT * FROM `table` WHERE (`f2` = 'hi' OR `f2` = 'sup') AND 'f1-is-the-same'
关注者
0
被浏览
122
1 个回答
  • 面试哥
    面试哥 2021-06-15
    为面试而生,有面试问题,就找面试哥。
    SELECT *
        FROM YourTable t1
            INNER JOIN YourTable t2
                ON t1.f1 = t2.f1
        WHERE t1.f2 = 'hi'
            AND t2.f2 = 'sup'
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看