Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

problema con consulta

Estas en el tema de problema con consulta en el foro de Bases de Datos General en Foros del Web. Hola gente, tengo que resolver una consulta: utilizo la siguiente tabla: id| campo1|campo2|campo3|campo4 1- | a | b | c | a | necesito obtener ...
  #1 (permalink)  
Antiguo 23/12/2009, 13:43
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
problema con consulta

Hola gente, tengo que resolver una consulta:

utilizo la siguiente tabla:

id| campo1|campo2|campo3|campo4
1- | a | b | c | a |

necesito obtener la cantidad de veces que se repite cada aparición, por ej en el registro 1 seria:

1 - A = 2
1- b= 1
1- c= 1


Hay alguna forma de resolverlo con una consulta?

Muchas gracias desde ya
  #2 (permalink)  
Antiguo 24/12/2009, 10:26
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: problema con consulta

Hola!

Con una sola consulta no se podria ya que el campo de conteo para mysql count() retorna un solo resultado.

Saludos

Nano
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 25/12/2009, 03:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: problema con consulta

Se puede hacer algo como esto, pero tendrás que hacerlo tantas veces como campos y letras tengas y te mostrará con 0 las letras que no aparezcan en ese registro
SELECT id,(IF(campo1='a',1,0)+if(campo2='a',1,0)+if(campo 3='a',1,0)+if(campo4='a',1,0))A, (IF(campo1='b',1,0)+if(campo2='b',1,0)+if(campo3=' a',1,0)+if(campo4='b',1,0))B, (IF(campo1='c',1,0)+if(campo2='c',1,0)+if(campo3=' c',1,0)+if(campo4='c',1,0))C, (IF(campo1='d',1,0)+if(campo2='d',1,0)+if(campo3=' d',1,0)+if(campo4='d',1,0))D FROM `tabla`

Última edición por jurena; 26/12/2009 a las 01:53
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:33.