Hola de nuevo mark1829:
Tienes muchas formas de obtener lo que necesitas, utilizando filtos como NOT IN, NOT EXISTS, o JOIN's... me hubiera gustado que hubieras posteado algo de lo que intentaste hacer. Aquí está una manera para hacer más o menos lo que necesitas:
Código MySQL:
Ver original -> p.id_post,
-> p.titulo,
-> p.texto,
-> COUNT(v.id_post_votado
) total_votos
, -> IF(v2.id_post_votado
IS NULL, 'NO', 'SI') ya_votaste
-> LEFT JOIN votos v
ON v.id_post_votado
= p.id_post
-> LEFT JOIN votos v2
ON v2.id_post_votado
= p.id_post
-> GROUP BY p.id_post
, p.titulo
, p.texto
; +---------+--------+---------+-------------+------------+
| id_post | titulo | texto | total_votos | ya_votaste |
+---------+--------+---------+-------------+------------+
| 1 | post 1 | texto 1 | 3 | SI |
| 2 | post 2 | texto 3 | 1 | SI |
| 3 | post
3 | texto
3 | 2 | NO | | 4 | post
4 | texto
4 | 0 | NO | +---------+--------+---------+-------------+------------+
-> p.id_post,
-> p.titulo,
-> p.texto,
-> COUNT(v.id_post_votado
) total_votos
, -> IF(v2.id_post_votado
IS NULL, 'NO', 'SI') ya_votaste
-> LEFT JOIN votos v
ON v.id_post_votado
= p.id_post
-> LEFT JOIN votos v2
ON v2.id_post_votado
= p.id_post
-> GROUP BY p.id_post
, p.titulo
, p.texto
; +---------+--------+---------+-------------+------------+
| id_post | titulo | texto | total_votos | ya_votaste |
+---------+--------+---------+-------------+------------+
| 1 | post 1 | texto 1 | 3 | SI |
| 2 | post
2 | texto
3 | 1 | NO | | 3 | post 3 | texto 3 | 2 | SI |
| 4 | post
4 | texto
4 | 0 | NO | +---------+--------+---------+-------------+------------+
Observa que estoy generando una nueva columna llamada YA_VOTASTE, donde aparece con un SI o un NO dependiendo el caso. Probando la consulta para el usuario 1, se observa que el ya votó los post's 1 y 2, por lo tanto ya no debería poder votar nuevamente, lo mismo para el usuario 3. Observa que hago un doble LEFT JOIN sobre la tabla votos... una para considerar a todos los usuarios y otra para considerar sólo al usuario que se está analizando.
Te repito, esta no es la única manera de obtener lo que necesitas, sigue investigando un poco para que encuentres otras alternativas que pueden ser mejores a esta.
Saludos
Leo.