我有一张表格,其中包含有关网站各种信息投票的信息。 该表格称为投票,由以下内容构成: ID,messageID,userID,vote
我希望从“消息”表中检索所有数据,计算“投票”表中的平均投票,并知道指定的用户(检查用户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过程中,查询应该告诉我他是否已经投了一条消息。我怎么能这样做?
答案 0 :(得分: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
类似......
您还可以添加其他查询。