mysql - 获取特定条目以防重复条目

标签 mysql sql sql-server

情况: 我有一个场景,其中除了一个字段之外,我获取的所有字段都相同的数据。我编写了一个存储过程来获取数据,使用来自不同表的许多连接。就我而言,根据具体情况,我需要两种情况之一。 例如:

实际案例

  |UserId | First name | Last name | IsRequired | IsDeleted |
     1        harry          tom        true         false
     1        harry          tom        false        false
     3         ram            sham       true         false

场景:

如果有两条记录分别为 IsRequired true 和 false,那么我需要一个 IsRequired true 的案例。

问题:

现在的问题是我需要过滤掉select语句中的记录。

因此任何人都知道如何在 select 语句中执行此操作。

预期情况:

| UserId | First name | Last name | IsRequired | IsDeleted |
    1        harry          tom        true         false
    2        ram            sham       true         false

最佳答案

更新的解决方案:

SELECT UserId, First name, Last name, IsRequired, IsDeleted FROM table WHERE UserId IN (SELECT UserId FROM users GROUP BY UserId HAVING count(distinct(IsRequired)) > 1) and IsRequired = 'true'
UNION
SELECT UserId, First name, Last name, IsRequired, IsDeleted FROM table WHERE UserId IN (SELECT UserId FROM users GROUP BY UserId HAVING count(IsRequired) = 1)

请参阅http://sqlfiddle.com/#!3/d178f/1/0

复制了完全相同的数据库结构。

关于mysql - 获取特定条目以防重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23650246/

相关文章:

javascript - 无法在 JavaScript 循环中从数据库获取数据

MySQL SUM() 始终返回 0 值

mysql - (需要优化)- MySQL 从多个表中选择一个表中具有最新值的

sql - 如果 sql server 中不存在该行,我可以使用 "if not exists"插入一行吗?

sql - 如何在 SQL 中搜索级别订单值?

sql - 从日期计算中排除周末和自定义日期(即假期)

从两个 Select 语句返回重叠的 SQL 语句

php - 将图像上传到数据库中存储详细信息的文件,但会覆盖已上传的图像

sql - 引用预计/选定的列?

mysql - 查询难度更大的多对多关系