0

我有以下查询

select count(t1.guid)
from table t1
where t1.id=X;

X 是此查询的结果集

select ID 
from table t2 
where t2.flags=65537;

上述查询返回 84 个结果,均为 INT 数据类型。

id是t2表的主键,t1表的外键;

guid 是 t1 表中的主键,在其他任何地方都不存在。

对象 O1 在表中具有声明所有对象及其属性的唯一标识符 (t2) 表 t1 中的 GUID 为上层调用的对象 O1 的每个实例分配唯一标识。我想查看在第二个查询中满足条件的每个对象的重复数。

我想我应该开始声明一个变量和一个使用所述变量的函数,但不知道从哪里开始或如何去做。

我曾经用 84 次手动破解解决了这个问题,但正在寻找一个更优雅、更具适应性的解决方案;

4

1 回答 1

0

玩了一整天,终于明白了

只需将两个发布的查询链接在一起,但将“=”运算符更改为“in”

select count(t1.guid)
from table t1
where t1.id in
(select t2.ID 
from table t2 
where t2.flags=65537);

避免了手动黑客会议!

于 2018-09-13T17:35:34.207 回答