【发布时间】:2016-10-02 19:41:02
【问题描述】:
我想在 q-sql 中做以下 sql 的等效操作:
update classes c set users=(select count(*) from learners u where u.classId=c.classId)
请注意,困难在于内部查询中的 where 子句涉及来自外部查询的变量。
我能想到的最接近的想法是重命名内部查询中的类列(即第一列)并尝试同时访问它们。
update users:(select count i from ( `LclassId xcol learners) where LclassId=classId) from classes
但这会导致错误'classId 这似乎意味着来自外部查询的classId
在内部不可用。
这是一些示例数据:
learners:([]classId:(1;2;3;4); userId: (1; 2; 3; 4))
classes:([]classId:1, 2, 3, 4)
【问题讨论】: