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

dudas con el distinct

Estas en el tema de dudas con el distinct en el foro de Bases de Datos General en Foros del Web. buenas, queria hacer una consulta que me devuelva varios campos pero que haga el distinct en uno solo... me explico, algo así como: SELECT DISTINCT ...
  #1 (permalink)  
Antiguo 27/09/2004, 04:20
 
Fecha de Ingreso: julio-2003
Mensajes: 97
Antigüedad: 21 años, 4 meses
Puntos: 0
dudas con el distinct

buenas, queria hacer una consulta que me devuelva varios campos pero que haga el distinct en uno solo... me explico, algo así como:

SELECT DISTINCT campo1, campo2, campo3 FROM tablatal

donde quiero q me devuelva campo 1, 2 y 3 pero que no se repitan los de campo1...

tal y como lo pongo veo que no se puede hacer, xq hace el distinct en todos los campos... alguien sabe como hacerlo??
  #2 (permalink)  
Antiguo 28/09/2004, 09:21
 
Fecha de Ingreso: julio-2003
Mensajes: 97
Antigüedad: 21 años, 4 meses
Puntos: 0
segundo y último intento... nadie sabe como hacer esto
es que supongo que lo podré hacer con php dandole unas cuantas vueltas, pero lo mismo se resuelve con cualquier pollada en la consulta y me ahorro mogollón de código...
  #3 (permalink)  
Antiguo 28/09/2004, 10:07
 
Fecha de Ingreso: septiembre-2004
Mensajes: 35
Antigüedad: 20 años, 2 meses
Puntos: 0
Prueba algo así (SQL)

SELECT c1, c2, Min(c3) AS Primero3, Min(c4) AS Primero4
FROM Tabla1
GROUP BY c1, c2;

En caso de Access puedes emplear First() en lugar de Min(). Es que no dices con que trabajas.
  #4 (permalink)  
Antiguo 28/09/2004, 10:50
 
Fecha de Ingreso: septiembre-2004
Ubicación: Puebla, México
Mensajes: 81
Antigüedad: 20 años, 2 meses
Puntos: 0
Cuando DISTINCT se usa con mas de una columna te toma la combinacion de todas las columnas y no te saca duplicados pero de esa combinacion, no hay forma de que solo te tome una.

Si usas una base de datos que soporte subconsultas (como postgresql) puedes hacer esto:
SELECT campo1,campo2,campo3
FROM tabla
WHERE campo1 IN (SELECT DISTINCT campo1 FROM tabla)

Si no, tienes que hacer primero la consulta que esta entre parentesis y con php agarrar los valores y formar la consulta con ellos.

Saludos
__________________
Revista DdS
Revista on-line sobre desarrollo de software
  #5 (permalink)  
Antiguo 01/10/2004, 12:56
 
Fecha de Ingreso: julio-2003
Mensajes: 97
Antigüedad: 21 años, 4 meses
Puntos: 0
muchas gracias a todos y sorry por no contestar antes...

aguirre, no me ha funcionado eso... no sé si es que lo he hecho mal o que esto no va con MySQL, que es la que uso...

pues na, supongo que me tocará eso, recoger todos los datos y luego hacer que no se repitan con php...

gracias a to2 ;)
  #6 (permalink)  
Antiguo 04/10/2004, 04:25
 
Fecha de Ingreso: septiembre-2004
Mensajes: 35
Antigüedad: 20 años, 2 meses
Puntos: 0
Lo siento, no decias que era MySQL y te conteste con SQL Server
  #7 (permalink)  
Antiguo 04/10/2004, 16:42
 
Fecha de Ingreso: julio-2003
Mensajes: 97
Antigüedad: 21 años, 4 meses
Puntos: 0
ah, no pasa na... probé por si acaso ;)
es que me extraña un huevo que con MySQL no se pueda hacer esto... tan limitado está??
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:10.