我有一个复杂的查询,归结为:
UPDATE usertable
SET userstatus =
(SELECT numposts*5 as status FROM
(SELECT count(*) as numposts FROM poststable WHERE poststable.userid = usertable.userid) as table2
)
WHERE usertable.userid > 0
这是一个更新每个用户记录并根据子表中的行数将用户的状态设置为某个计算值的查询。
问题是 usertable.userid 没有将其归结为二级子查询。
查询像这样呈现时有效,只有一层:
UPDATE usertable
SET userstatus =
(SELECT count(*) as numposts FROM poststable WHERE poststable.userid = usertable.userid)
WHERE usertable.userid > 0
问题是实际情况下的计算查询非常复杂。
问题是:有没有办法让我得到一个二级子查询来识别来自顶级查询的值?在这个例子中,有没有办法让 usertable.userid 识别到 2 个级别?
谢谢!-尼科