mysql - 在 where 子句中使用外部查询中的值的子查询

标签 mysql database

我想运行一个子查询,该子查询在其 where 子句中使用外部查询的值。这是我想做的事情的示例:

SELECT * FROM `tbl1`
WHERE `tbl1`.`max_count` < (
SELECT COUNT(*) rc FROM `tbl2`
WHERE `tbl2`.`id` = `tbl1`.`id
)

tbl1 的列名为 max_count,tbl2 的行引用 tbl1 中的行(多对一关系)。我想要做的是选择 tbl1 中的行,其中 tbl2 引用它的行数小于该行的 max_count 值。但我很确定我在这里写的内容不会被削减。有什么想法吗?

非常感谢

最佳答案

试试这个 -

SELECT * FROM `tbl1` t1
    WHERE t1.`max_count` < (
    SELECT COUNT(*) FROM `tbl2` t2
    WHERE t2.`id` = t1.`id`
    )

关于mysql - 在 where 子句中使用外部查询中的值的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17760976/

相关文章:

php - 如何在我的表中搜索表单变量并在未找到时添加到表中,但如果找到则按用户指定的数量增加值?

mysql - 用户创建的数据库结构: non-relational or relational databases?

python - 用 Python 3.6 连接 MySQL

java - XML 到字符串在一个数据库上工作正常,但在第二个数据库上工作不正常

php - max_questions - 保持分数 [mysql/php]

php - MySQL : How to set to same position if row value is the same?

mysql - 更新多个值时 SQL UPDATE 的执行顺序?

php - 慢查询 - GAE PHP 和 Cloud SQL

mysql - 我的 SQL 查询这么慢是否正常?

mongodb - 与简单文本相比,将日期作为 ISODate 存储在数据库中有什么优势?