Perdona que te lo diga, pero esta condición no tiene demasiado sentido, si la analizamos en detalle:
- En ese contexto,
solicitudes.tipo dará TRUE con cualquier condición no nula.
- Será TRUE también, si
solicitudes.tipo es NULL.
- COUNT(*) será siempre 1 si se filtra por un campo único, como "NICK" .
En definitiva, en principio, esa consulta siempre devolverá NULL... Salvo que tengas
más de un registro por cad usuario.
La segunda consulta tienes esto:
- La primera parte devolverá NULL si
solicitudes.tipo contiene un cero o es NULL, o bien si
solicitudes.tipo contiene un 1, o no es NULL y si además se filtra por un campo único, como "NICK" .
- Devolverá FALSE si
solicitudes.tipo es 1 o NULL (algo contradictorio), y además COUNT() es mayor a 1 (difícil sin nick es unico)
Me parece que tienes que estás tratando de crear una consulta complicándote la vida... Un simple SUM() o COUNT() aplicado sobre esa columna creo que sería suficiente. Un valor igualo mayor a 1 sería toda la distinción que necesitas.