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

No devolver registros con mismo nombre en consulta select

Estas en el tema de No devolver registros con mismo nombre en consulta select en el foro de Mysql en Foros del Web. Hola Amigos que tal. Tengo la siguiente pregunta: Sea la siguiente tabla: | id | nombre producto | sabor | ------------------------------------------------------------------ | 1 | multivitaminico ...
  #1 (permalink)  
Antiguo 14/10/2012, 11:57
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
No devolver registros con mismo nombre en consulta select

Hola Amigos que tal.

Tengo la siguiente pregunta:

Sea la siguiente tabla:

| id | nombre producto | sabor |
------------------------------------------------------------------
| 1 | multivitaminico person | chocolate
| 2 | multivitaminico person | fresa
| 3 | multivitaminico person | vainilla
| 4 | meneralia 400gr | limón
| 5 | meneralia 400gr | chocolate
| 6 | meneralia 400gr | coco


Es una tabla en donde hay varios productos en donde algunos tiene el mismo nombre (y el mismo número de referencia)

De los 6 productos del ejemplo 2 son iguales a un tercero solo varía el sabor.

Lo que me gustaría saber es de que manera (utilizando MYSQL) puedo filtrar los resultados de tal manera que me devuelva 1 por cada nombre (lo que utilizaría realmente sería el numero por se un número y no un texto).

Por ejemplo en este caso solo me debería devolver 2 registros (no es necesario que me devuelva el sabor)

Por ejemplo:

| id | nombre producto
---------------------------------------
| 1 | multivitaminico person
| 2 | meneralia 400gr


¿Existe alguna forma posible?

Muchas Gracias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #2 (permalink)  
Antiguo 15/10/2012, 05:33
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: No devolver registros con mismo nombre en consulta select

Código MySQL:
Ver original
  1. SELECT DISTINCT `nombre producto`
  2. FROM tuTabla

El id que pones en el ejemplo de salida, es un numerador tu mismo puedes ver que no tiene nada que ver con el id de la tabla, no existe "meneralia 400gr" con id=2.

El numerador lo puedes generar de muchas maneras pero no lo confundas con el id no tienen nada que ver y te podria traer muchos problemas...

Código MySQL:
Ver original
  1. SELECT DISTINCT `número de referencia`,`nombre producto`
  2. FROM tuTabla

(no uses blancos ni acentos en los nombres de los campos complica mucho, numRef y nomProd se leen perfectamente y no complican)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 15/10/2012, 07:21
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: No devolver registros con mismo nombre en consulta select

Muchas gracias.

Lo probare. Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 16/10/2012, 23:05
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: No devolver registros con mismo nombre en consulta select

Muchas gracias me diste una idea solo que hay un detalle en mi pregunta.

Quería saber si es posible hacer desde una consulta mysql devolver registros cuyos nombres no sean repetidos. pero necesito devolver más campos como por ejemplo id, supplier, description, etc....

Me ayudas?

Muchas gracias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #5 (permalink)  
Antiguo 17/10/2012, 11:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: No devolver registros con mismo nombre en consulta select

Con "distinct" conseguiras registros donde la combinacion de campos sea distinta....


Producto, Atributo
1 1
1 1
2 1
2 2

SELECT DISTINCT Producto, Atributo FROM tabla

Producto, Atributo
1 1
2 1
2 2

Si atributo siempre es el mismo para el mismo producto luego el resultado es el que buscas....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: devolver, nombre, registros, select, sql, tabla
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 23:35.