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

coger registros distintos

Estas en el tema de coger registros distintos en el foro de Bases de Datos General en Foros del Web. Hola a todos a ver si me pueden ayudar Tengo un listado de productos en los cuales tengo las diferentes columnas *ref_product *marca_product *modelo_product *descripcion_product ...
  #1 (permalink)  
Antiguo 29/03/2005, 08:54
 
Fecha de Ingreso: febrero-2004
Ubicación: andorra
Mensajes: 406
Antigüedad: 20 años, 2 meses
Puntos: 1
coger registros distintos

Hola a todos a ver si me pueden ayudar
Tengo un listado de productos en los cuales tengo las diferentes columnas
*ref_product
*marca_product
*modelo_product
*descripcion_product
*precio_product

tengo que coger los que tengan la marca. mi sentencia es la siguiente

select * from productos where marca_product like '%nombre_producto%' group by marca_product,precio_product

muchas gracias por vuestra ayuda

un saludo

fran
__________________
vuestro amigo franju
  #2 (permalink)  
Antiguo 29/03/2005, 11:44
Avatar de cableh  
Fecha de Ingreso: diciembre-2004
Mensajes: 54
Antigüedad: 19 años, 4 meses
Puntos: 0
No entiendo muy bien lo que quieres hacer en la consulta, pero si te puedo decir que en una select donde se agrupa por algún campo, has de agrupar por todos los campos que forman la consulta o utilizarlos con alguna función del tipo max(campo), count, etc.

Ej:

Select campo1,campo2,campo3 from tabla group by campo1. Esta consulta daría error.

Select campo1,campo2,campo3 from tabla group by campo1,campo2,campo3. Esta consulta sería correcta y te devolvería un registro por cada coincidencia de campo1, campo2 y campo3.

Salu2.
  #3 (permalink)  
Antiguo 29/03/2005, 19:05
 
Fecha de Ingreso: mayo-2003
Mensajes: 328
Antigüedad: 21 años
Puntos: 0
Cita:
Iniciado por franju
Hola a todos a ver si me pueden ayudar
Tengo un listado de productos en los cuales tengo las diferentes columnas
*ref_product
*marca_product
*modelo_product
*descripcion_product
*precio_product

tengo que coger los que tengan la marca. mi sentencia es la siguiente

select * from productos where marca_product like '%nombre_producto%' group by marca_product,precio_product

muchas gracias por vuestra ayuda

un saludo

fran
Por lo que entiendo quieres buscar todos los registros que tengan el nombre_producto y aparte que tengan marca, quizá lo que necesites sería algo así:

SELECT * FROM productos WHERE marca_product LIKE '%nombre_producto%' AND marca_product IS NOT NULL ORDER BY precio_product

Sería muy bueno que describas un poco más la manera en que quieres buscar los registros.

SALUDOS
__________________
Uriel Lizama, Perl Developer

Aprende Perl en Perl en Español.
  #4 (permalink)  
Antiguo 30/03/2005, 00:19
 
Fecha de Ingreso: febrero-2004
Ubicación: andorra
Mensajes: 406
Antigüedad: 20 años, 2 meses
Puntos: 1
gracias por responder os doy un ejemplo
4 registros

-1,nokia,7610,descripcion,450
-2,nokia,7610,decipt,450
-3,nokia,7610,descption,500
-4,nokia,7610,decip,500

como podeis ver si se hace un distinct me cogeria los 4 pq son todos diferentes pero a mi me interesa que me de el siguiente resultado por ejemplo :

-1, nokia,7610,decripcion,450
-3, nokia,7610,descrip,500

me es indeferente la ref ,el modelo y la descripcion lo q me interesa es que la marca i el precio sea diferente pero me tiene que mostrar todo.

espero verme explicado bien

gracias por vuestra ayuda.

un saludo

fran
__________________
vuestro amigo franju
  #5 (permalink)  
Antiguo 31/03/2005, 10:32
Avatar de cableh  
Fecha de Ingreso: diciembre-2004
Mensajes: 54
Antigüedad: 19 años, 4 meses
Puntos: 0
Ahí va una consulta, en ms SQL Server, que creo que cumple tus condiciones:

select marca,precio,
(select top 1 ref from productos t where t.nombre=productos.nombre and t.precio=productos.precio order by referencia) as ref,
(select top 1 descripcion from productos t where t.nombre=productos.nombre and t.precio=productos.precio order by referencia) as desc
from productos group by marca,precio

Para obtener los valores de referencia y descripción hago una subconsulta que devuelve el primer valor que encuentra de ellos (si te interesa que salga otra ref puedes jugar con el order), si tienes más campos haz una subconsulta para cada uno.

Supongo que habrá una consulta más simple, pero espero que te sirva.
Salu2.
  #6 (permalink)  
Antiguo 31/03/2005, 23:59
 
Fecha de Ingreso: febrero-2004
Ubicación: andorra
Mensajes: 406
Antigüedad: 20 años, 2 meses
Puntos: 1
garcias al final lo solucione uniendo las 2 tablas
__________________
vuestro amigo franju
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 18:55.