查询以基于一个字段从表中获取记录,并检查该字段是否不是-1

阿斯米

我有一个名为Documents的表,具有Document_ID(主键)和Cluster_ID字段,现在我希望所有基于Document_ID(作为参数传递)具有相同Cluster_ID的Document_ID,Cluster_ID的默认值为-1。

例如:dbo.Documents

 Document ID ********   Cluster_ID

 - 1******************          -1
 - 2******************             1001
 - 3******************             1001
 - 4******************             -1
 - 5******************             1002
 - 6******************             1001
 - 7******************              -1
 - 8******************              -1
 - 9******************              -1

现在,如果Document_ID为2,那么我希望结果为Document_ID = 2,3,6的行,在这里我无法处理cluster_ID = -1的记录;(因为该表的id默认值为-1,并且有数百个表中的匹配记录)

我尝试了下面提到的查询,它工作正常,但是当我对Document_ID = 7执行查询时,它将返回5行,cluster_ID = -1,

SELECT d2.* 
FROM dbo.Documents d1 
join dbo.Documents d2 on d1.Cluster_ID=d2.Cluster_ID 
WHERE d1.Document_ID =2

我的问题是:它正在从表中返回所有具有Cluster_ID = -1的行,我想要的是,如果Cluster_ID = -1,则返回单行,否则返回具有相同cluster_ID的所有行

依卡德

试试这个查询

SELECT
    Document_ID,
    Cluster_ID
FROM Documents
WHERE Cluster_ID =
(
    SELECT
        Cluster_ID
    FROM Documents
    WHERE Document_ID = @Document_ID
)
AND Cluster_ID <> -1

UNION

SELECT
    Document_ID,
    Cluster_ID
FROM Documents
WHERE Document_ID = @Document_ID 
AND Cluster_ID = -1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MYSQL | 从另一个字段中减去一个字段,但是创建了1个子查询字段

来自分类Dev

将1个字段复杂地移动到另一个数据库中的一个字段所需的mysql查询

来自分类Dev

通过与另一个字段匹配来过滤表1的列并从表2中获取结果

来自分类Dev

SQL:基于行中的第一个字段将2行合并为1行

来自分类Dev

如何将2个记录和一个字段合并为1行和2个字段(Oracle 11g)?

来自分类Dev

MySQL:特定查询,以基于0或1的字段从2个不同的表中获取信息

来自分类Dev

awk比较两个文件并在文件1中打印第一个字段

来自分类Dev

更新2个字段-将最后一位数字从1个字段推到另一个字段的开头

来自分类Dev

PHP验证-检查是否填充了3个字段中的1个

来自分类Dev

JOIN 2 SQL表(表1的1个字段替换另一个表的1个以上字段)

来自分类Dev

Power BI-当X轴上table2的另一个字段时,以可视化方式从两个多对多相关表中显示table1中的所有数据

来自分类Dev

检查一个字段的值是否在另一个字段中

来自分类Dev

检查Table1中的字段组合是否在另一个Table2(SQL)中存在

来自分类Dev

PHP插入MySQL数组,其中一个字段是在第一个SQL语句中创建的AI1数据库字段

来自分类Dev

如何在查询中添加基于另一个字段的字段

来自分类Dev

计算Tablean中1个字段中是否为“是”

来自分类Dev

如何获取ID并在ror中基于该ID显示下一个字段?

来自分类Dev

在另一个字段中为1时将位设置为0的最有效方法

来自分类Dev

同一个表的所有记录由一个字段关联但由另一个字段查询 - sqlserver

来自分类Dev

高级SQL查询设计帮助(在两个表中重复,多个字段,可能基于一个字段的排除项)

来自分类Dev

IONIC V1:Form Keydown Enter 在最后一个字段上触发,但不在 Device 内的第一个字段上触发

来自分类Dev

在基于MySQL中另一个字段的子查询中使用LIMIT

来自分类Dev

如何基于同一记录中另一个字段的值更新MySql字段

来自分类Dev

根据Mongodb查询中的一个字段查找最大连续记录数

来自分类Dev

根据Mongodb查询中的一个字段查找最大连续记录数

来自分类Dev

根据外来表更新并选择一个字段,该表包含基于最新寄存器的几行

来自分类Dev

表A中的一个字段在表B中的一个字段中+ mysql + php

来自分类Dev

$ sum数组中的一个字段-查询结果文档是否超过某个值

来自分类Dev

如何基于1个字段的内容进行awk选择?

Related 相关文章

  1. 1

    MYSQL | 从另一个字段中减去一个字段,但是创建了1个子查询字段

  2. 2

    将1个字段复杂地移动到另一个数据库中的一个字段所需的mysql查询

  3. 3

    通过与另一个字段匹配来过滤表1的列并从表2中获取结果

  4. 4

    SQL:基于行中的第一个字段将2行合并为1行

  5. 5

    如何将2个记录和一个字段合并为1行和2个字段(Oracle 11g)?

  6. 6

    MySQL:特定查询,以基于0或1的字段从2个不同的表中获取信息

  7. 7

    awk比较两个文件并在文件1中打印第一个字段

  8. 8

    更新2个字段-将最后一位数字从1个字段推到另一个字段的开头

  9. 9

    PHP验证-检查是否填充了3个字段中的1个

  10. 10

    JOIN 2 SQL表(表1的1个字段替换另一个表的1个以上字段)

  11. 11

    Power BI-当X轴上table2的另一个字段时,以可视化方式从两个多对多相关表中显示table1中的所有数据

  12. 12

    检查一个字段的值是否在另一个字段中

  13. 13

    检查Table1中的字段组合是否在另一个Table2(SQL)中存在

  14. 14

    PHP插入MySQL数组,其中一个字段是在第一个SQL语句中创建的AI1数据库字段

  15. 15

    如何在查询中添加基于另一个字段的字段

  16. 16

    计算Tablean中1个字段中是否为“是”

  17. 17

    如何获取ID并在ror中基于该ID显示下一个字段?

  18. 18

    在另一个字段中为1时将位设置为0的最有效方法

  19. 19

    同一个表的所有记录由一个字段关联但由另一个字段查询 - sqlserver

  20. 20

    高级SQL查询设计帮助(在两个表中重复,多个字段,可能基于一个字段的排除项)

  21. 21

    IONIC V1:Form Keydown Enter 在最后一个字段上触发,但不在 Device 内的第一个字段上触发

  22. 22

    在基于MySQL中另一个字段的子查询中使用LIMIT

  23. 23

    如何基于同一记录中另一个字段的值更新MySql字段

  24. 24

    根据Mongodb查询中的一个字段查找最大连续记录数

  25. 25

    根据Mongodb查询中的一个字段查找最大连续记录数

  26. 26

    根据外来表更新并选择一个字段,该表包含基于最新寄存器的几行

  27. 27

    表A中的一个字段在表B中的一个字段中+ mysql + php

  28. 28

    $ sum数组中的一个字段-查询结果文档是否超过某个值

  29. 29

    如何基于1个字段的内容进行awk选择?

热门标签

归档