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

Consulta con distinct

Estas en el tema de Consulta con distinct en el foro de Mysql en Foros del Web. Hola a todos, tengo un pequeño problema con una consulta que no consigo que me haga como debe. SELECT distinct nombre_comercial FROM comentarios INNER JOIN ...
  #1 (permalink)  
Antiguo 01/10/2007, 04:44
 
Fecha de Ingreso: mayo-2005
Mensajes: 94
Antigüedad: 18 años, 11 meses
Puntos: 0
Consulta con distinct

Hola a todos, tengo un pequeño problema con una consulta que no consigo que me haga como debe.

SELECT distinct nombre_comercial FROM comentarios INNER JOIN clientes ON comentarios.idcliente=clientes.id WHERE fecha>'2007-09-25' AND fecha<'2007-09-30' AND enventa='0'

Esta es la consulta. Lo que debería hacer es sacarme 16 elementos con esas condiciones, y que en los resultados el campo "nombre_comercial" solo salga 1 vez. Si pongo:

SELECT * FROM....

Me saca 23 registros (los repetidos tambien)

y si la pongo con el distinct solo me saca la columna nombre_comercial, y yo necesito que saque todas las columnas... Probe poniendo por ejemplo

SELECT distinct nombre_comercial, clientes.id pero me saca 23 registros y solo esas 2 columnas. Hay alguna solucion para que me saque todas las columnas pero que nombre_comercial no se repita?

Desde ya muchisimas gracias.

Un abrazo!
  #2 (permalink)  
Antiguo 05/10/2007, 10:31
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 19 años, 9 meses
Puntos: 0
Re: Consulta con distinct

Hola, el distinct sólo afecta a un campo, o mejor dicho a un resultado. Suena lioso pero te pongo un ejemplo:

si tienes:
select distinct nombre --> solo esa columna, te sacara nombres distintos

Si tienes:
select distinct nombre, apellidos --> te saca solo un elemento si se repite de esas 2 columnas en conjunto

Juan García
Juan Pérez
----------------------
se repite Juan, pero como García y Pérez son distintos para él ya son 2 tuplas distintas. Si solo fuera el nombre, sólo aparecería una vez Juan, ya que detecta que Juan y Juan son 2 resultados iguales.

De todo esto, si pones el distinct, te sacará sólo las tuplas en las que no se repitan todos los campos. Con que haya un campo que no se repita, te sacará las 2 tuplas.

Piensa si es eso lo que necesitas...
Suerte
__________________
Uno para todos y todos para uno
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 22:55.