【问题标题】:How to check multiple rows values at once to retun something in sql?如何一次检查多行值以在 sql 中返回某些内容?
【发布时间】:2015-12-27 14:33:10
【问题描述】:

我有一个场景,我想从一个表中检索记录,但基于某些条件。假设表1有以下记录

表2有以下记录

review_id 列是表 1 中的外键。我想根据表 2 中的“is_verified”字段从表 1 中选择 ID。选择针对特定 ID 的所有值是全部为 null 还是为 null 和 1 的混合。如果任何值为 0,则不应选择该特定 ID 的结果。 对于上面给出的示例数据: ID 5052,5051,5048 应返回并 不应返回 5053,因为在 ID=5053 的 table2 中,4 个值中有一个值为 0。

【问题讨论】:

标签: mysql sql-server


【解决方案1】:

这听起来像not exists

select t1.*
from table t1
where not exists (select 1
                  from table2 t2
                  where t2.review_id = t1.id and
                        t2.is_verified = 0
                 );

【讨论】:

  • 非常感谢@Gordon
猜你喜欢
  • 2019-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-15
  • 2018-08-09
  • 2012-02-05
  • 1970-01-01
相关资源
最近更新 更多