我有这样的SQL语句:SQL简单化
SELECT
(CASE
WHEN EXISTS
(SELECT *
FROM votes
WHERE votes.user_id = 0
AND votes.post_id = posts.id
AND votes.vote = 0) THEN 0
WHEN EXISTS
(SELECT *
FROM votes
WHERE votes.user_id = 0
AND votes.post_id = posts.id
AND votes.vote = 1) THEN 1
ELSE 2
END) AS vote_by_me ,
posts.*
FROM `posts`
有没有一种方法,我可以在干燥方式做到这一点?两种选择语句几乎相同,将它们排除在外是很好的选择。
感谢
谢谢,正是我在找的东西。我使用后者,因为帖子不能由同一用户进行多次投票。 – 0xSina