MySQL查询匹配两个字段并且有另一个共同字段

标签 mysql sql

我有一个像这样的 SQL 表:

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

我需要一个查询来获取 f2 = hi 或 f2 = su 的行,但前提是 f1 在两行中具有相同的值。所以我的查询将获取 id 1 和 id 2,但不是 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查询匹配两个字段并且有另一个共同字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7797743/

相关文章:

sql - 如何删除重复的结果

mysql - 如何从二进制日志文件中获取数据并插入到我们想要的 MySQL 表中?

MySQL:使用另一个表的计算更新所有记录

sql - 在同一 MySQL 事务中更新从属表的方法?

sql - 在 SQLite 中声明变量并使用它

php - 用于列出同一表中类别的树层次结构的算法

php - 积分排名系统

mysql - 如何在mysql中旋转两个值?

mysql - 使用 Sequelize.js 加入特定列

java - SQL更新方程变量