下面的情况:我有一个用户和装备的列表,每个用户可以创建N套。用户可以投票选择他们的装备。
现在我想列出所有的装备和用户。这个很好用。但是,如果我想列出每个/所有用户的所有装备,达到所需票数。所以count_votes > required_votes。
这就是我所得到的,但它显然给了我一个错误:
SELECT ay_users.*,
ay_users_outfits.*,
COUNT(ay_votes.voteId) AS countvotes
FROM ay_users_outfits,
ay_users,
ay_votes
WHERE ay_users_outfits.outfitUserId = ay_users.userId
AND ay_votes.voteOutfitId = ay_users_outfits.outfitId
AND ay_users_outfits.outfitRequiredVotes <= countvotes
ORDER BY ay_users_outfits.outfitCreationDate ASC
#1054 - Unknown column 'countvotes' in 'where clause' 我做错了什么?
发布于 2014-07-30 17:48:40
看看这个:http://dev.mysql.com/doc/refman/5.0/en/group-by-extensions.html
您将需要使用something子句,如下所示
SELECT
ay_users . *,
ay_users_outfits . *,
FROM
ay_users_outfits,
ay_users,
ay_votes
WHERE
ay_users_outfits.outfitUserId = ay_users.userId AND
ay_votes.voteOutfitId = ay_users_outfits.outfitId
GROUP BY ay_users.userId
HAVING ay_users_outfits.outfitRequiredVotes <= COUNT(ay_votes.voteId)
ORDER BY ay_users_outfits.outfitCreationDate ASC发布于 2014-07-30 17:47:58
原因是不存在列countvotes,并且在where子句中使用它.
您必须在where子句中使用COUNT(ay_votes.voteId)。
AND ay_users_outfits.outfitRequiredVotes <= COUNT(ay_votes.voteId)不能在where子句中使用(命名)计算
https://stackoverflow.com/questions/25043514
复制相似问题