0

我有一个表格,其中包含有关网站各种消息的投票的信息。该表称为投票,由以下各项组成:ID、消息ID、用户ID、投票

我想从“消息”表中检索所有数据,计算“投票”表中的平均投票,并知道指定用户(将用户 ID 检查到“投票”表中)是否已经投票。这是检索消息和相应投票平均值的查询

select m.*, AVG(votes) as average_valuation from messages m 
left join votations v on v.messageID = m.id 
group by m.id

假设我收到 userID 有 POST 数据,查询应该告诉我他是否已经在 LEFT JOIN 过程中投票了一条消息。我怎么能这样做?

4

1 回答 1

0

尝试子查询

select 

m.*,
(
select count(1) from messages m1
where m1.id=m.id
and m1.userid=@userid
) as VotedAlready,

AVG(votes)
as average_valuation from messages m 
group by m.id

就像是..

您还可以添加其他查询。

于 2013-07-21T06:01:28.360 回答