Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/04/2009, 08:51
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: GROUP BY, patrones y quebraderos de cabeza.

Sin entrar a discutir la estructura de la base. Deberías decirnos si esa dolencia es un campo de tipo numérico o varchar, si permites o no null. También si guardas más de una dolencia en ese campo, separando con comas, etc. No obstante, te aconsejo que pruebes esto.

si es varchar
SELECT idcliente where dolencia like "";
si es numérico y no permites null:
SELECT idcliente WHERE dolencia = 0;
si es numérico y permites null:
SELECT idcliente WHERE dolencia IS NULL;
cualquiera de esas consultas, según la naturaleza del campo, debería mostrarte los que no sufren ninguna dolencia. Pero tendrías que precisarnos si en ese campo queda en blanco o vacío, o si permites NULL.

Para buscar los que sufren alguna dolencia te bastará algo como esto
SELECT idcliente WHERE dolencia = 3;


Imagino que esa estructura será la que es por alguna razón: sólo una dolencia por cliente.

Cita:
¿Como debería ser la query para que me agrupara los usuarios que tienen una dolencia concreta pero me listara TODOS los usuarios que no tienen dolencia?
busca así:
SELECT idcliente, IF(dolencia = "", "sin dolencia", dolencia ) dolencia FROM tabla WHERE dolencia = 3 OR dolencia LIKE "" ORDER BY dolencia DESC, idcliente;

Pero tendrías que darnos datos sobre el tipo de campo que es dolencia y los datos que sueles introducir.

Esa es la idea.

Última edición por jurena; 24/04/2009 a las 09:01