【发布时间】:2012-05-24 06:54:13
【问题描述】:
我的问题是:如何在一个 sql 查询中获取不同的值?我正在尝试这个:
SELECT
q.id,
q.question_title,
SUM(op.option_value) AS total_votes,
COUNT(op.option_value) AS number_votes,
tab.comments
FROM
questions_options AS op
INNER JOIN questions AS q
ON (q.id = op.q_id)
INNER JOIN
(SELECT
SUM(p.unseen) AS comments
FROM
questions_options AS p) tab
ON (q.id = tab.q_id)
WHERE op.option_value > 0
GROUP BY q.question_title
如果我删除中间的“INNER JOIN”(即显示 ID、问题标题、总票数和票数......
但我也想显示未见过的 cmets,这是该表中的另一个字段,对未见(未读)评论取“1”...
那么我怎样才能通过输入看不见的 cmets 号码来做到这一点......任何想法或建议......
【问题讨论】:
-
您已经从名为“tab”的子查询中删除了 q_id 字段,因此您当然不能再加入该字段。你可能想要
(select sum(p.unseen), p.q_id from questions_options as p group by q_id) tab -
嗨....是的,你是对的..它显示了一些结果...但是所有字段都有 2 个,我只想要那些有未读 cmets 的字段...谢谢跨度>
标签: sql select inner-join