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;
答案 0 :(得分:1)
Zenksor,尝试更换'&' “AND”运算符的字符。
T-SQL中的'&' is the bitwise 'AND'。它可能与其他RDBMS具有相同的含义。我从未见过&作为关系AND运算符。