0

我有一个 SQL 查询,它计算某个列的值的总和,并且还需要从同一个表中检索一个值。

我想知道,由于将读取整个表格来计算总和,有没有办法可以同时选择想要的值?

这是可能的还是我需要SELECT在桌子上制作 2 个不同的 s,如下所示?

我查询的当前代码是:

SELECT [columns],

(SELECT SUM(value) FROM votes WHERE postid=p.postid) AS charge,
(SELECT value FROM votes WHERE postid=p.postid AND userid=u.userid) AS currentVote

FROM posts p, users u WHERE p.userid=u.userid

谢谢 !

4

1 回答 1

1

在您的特定情况下,您可能需要与特定用户的帖子相关的投票值的总和。

除了使用嵌套查询,您还可以使用如下内容:

根据评论我更新了查询:

SQL 小提琴:http ://www.sqlfiddle.com/#!2/2a0920/9

SELECT p.postid, sum(v.value) AS charge,
v.value AS currentVote
FROM posts p,
     users u,
     votes v
WHERE p.userid=u.userid
  AND v.postid = p.postid
group by p.postid;
于 2013-05-28T00:14:44.970 回答