SQL查询计数差异

时间:2014-09-24 17:18:59

标签: sql count

http://i.stack.imgur.com/GPlNo.png

我正在尝试执行以下查询: 对于问题编号42,所有答案都是排序的,因此最高投票的答案是第一个。

但是,我的查询给了我一个错误,说"整数的输入语法无效:" u"

我已经对我的数据库表进行了三次检查,它是vote_choice的一个字符。我不知道如何解决这个问题。我也试过LIKE,但没有解决任何问题。 有什么建议吗?

SELECT answers,
    ((SELECT COUNT(vote_choice) 
    FROM vote 
    JOIN answervote USING (vote_id)
    NATURAL JOIN answers
    WHERE vote_choice = 'u' 
    &  vote.vote_id = answervote.vote_id 
    & answervote.answer_id = answer.answer_id)
  -(SELECT COUNT(vote_choice) 
    FROM vote 
    JOIN answervote USING (vote_id)
    JOIN answers USING (answer_id)
    WHERE vote_choice = 'd'
    &  vote.vote_id = answervote.vote_id 
    & answervote.answer_id = answer.answer_id)) AS total_points
FROM answers
JOIN questions USING (question_id)
WHERE question_id = 42
ORDER BY total_points DESC;

1 个答案:

答案 0 :(得分:1)

Zenksor,尝试更换'&' “AND”运算符的字符。

T-SQL中的

'&' is the bitwise 'AND'。它可能与其他RDBMS具有相同的含义。我从未见过&作为关系AND运算符。