我有以下查询
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 次解决了这个问题,但正在寻找更优雅、更具适应性的解决方案;
最佳答案
折腾了一整天,终于搞清楚了
只需将两个发布的查询链接在一起,但将“=”运算符更改为“in”
select count(t1.guid)
from table t1
where t1.id in
(select t2.ID
from table t2
where t2.flags=65537);
避免了手工黑客攻击!
关于mysql - 查询构建自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52298441/