【发布时间】:2019-02-17 06:54:17
【问题描述】:
我有以下问题
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 次解决了这个问题,但正在寻找一个更优雅、更自适应的解决方案;
【问题讨论】:
-
你能提供样本数据吗?你期望从中得到什么数据?以便我们更好地理解。什么是对象 O1,它们的属性 GUID 是什么意思。上层等是什么意思?
-
第二个查询定义了“X”所以 84 次而不是 X,我想替换一些东西,这反过来又会变成有效的整数子查询不会这样做,因为它不能携带超过一行值(mysql是这么说的)
-
能否提供表格架构和表格中的一些示例数据?
-
如果允许子查询返回多于一行,我的手动破解解决方案是 select count(t1.guid) from t1 where t1.id=(select t2.id from t2其中 t.flags=65537);子查询返回 84 个结果,我想在主查询中使用这些结果来查找重复项。 t1.guid= t1 中的 PK t1.id=FK 到 t2.id t2.id=t2 中的 PK
标签: mysql automation mysql-variables mysql-function