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

sql sollo el campo una vez: DISTINCT, UNIQUE

Estas en el tema de sql sollo el campo una vez: DISTINCT, UNIQUE en el foro de SQL Server en Foros del Web. hola!! tengo un problema, tengo dos tablas que son las siguientes (Recepcion, Ensayos) y sus claves son las siguientes: Numero y CodigoEnsayo Recepcion Ensayos Numero ...
  #1 (permalink)  
Antiguo 15/03/2007, 02:00
 
Fecha de Ingreso: diciembre-2006
Mensajes: 43
Antigüedad: 17 años, 5 meses
Puntos: 0
sql sollo el campo una vez: DISTINCT, UNIQUE

hola!!
tengo un problema, tengo dos tablas que son las siguientes (Recepcion, Ensayos) y sus claves son las siguientes: Numero y CodigoEnsayo

Recepcion Ensayos

Numero Numero CodigoEnsayo
0000 0000 1
0001 0000 2
0002 0001 2
0003 0001 3
0004 0002 1
0005 0003 1

entonces quiero una tabla que aparezcan los ensayos realizados.
hago:
select Numero, CodigoEnsayo, Ensayo
from Recepcion inner join Ensayos on Ensayos.Numero=Recepcion.Numero
group by Numero , CodigoEnsayo, Ensayo
order by CodigoEnsayo

y claro, me aparecen tuplas por cada Recepcion que haya utilizado ese ensayo. He intentado con DISTINCT (Ensayos.CodigoEnsayo) y nada.
Que puedo hacer??
  #2 (permalink)  
Antiguo 15/03/2007, 08:05
 
Fecha de Ingreso: diciembre-2006
Mensajes: 43
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: sql sollo el campo una vez: DISTINCT, UNIQUE

creo que no me explicado bien:
las tuplas me aparecen duplicadas, y con DISTINCT no me vale.
de que otra forma puedo hacerlo??
  #3 (permalink)  
Antiguo 15/03/2007, 12:56
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: sql sollo el campo una vez: DISTINCT, UNIQUE

No sé si uses SQL Server 2005 y la sintaxis del DISTINCT haya cambiado, pero regularmente no lleva paréntesis.

select DISTINCT Numero, CodigoEnsayo, Ensayo
from Recepcion inner join Ensayos on Ensayos.Numero=Recepcion.Numero
group by Numero , CodigoEnsayo, Ensayo
order by CodigoEnsayo
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 16/03/2007, 01:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 43
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: sql sollo el campo una vez: DISTINCT, UNIQUE

ya, pero la cuestión es que con distinct no me vale, porque las filas son diferentes en sí. Por ejemplo, quiero ver qué empresas han solicitado el ensayo='0000000',

el resultado me queda así:

CodEnsayo Empresa RecepcionNumero
0000000 123 1
0000001 222 2
0000000 123 5
0000000 214 7
0000001 222 6

con el distinct no me borra nada, porque son filas diferentes, y yo quiero que las empresas se agrupen así:

CodEnsayo Empresa
0000000 123
0000001 222
.......... .......

no se si me entiendes??que puedo hacer??
  #5 (permalink)  
Antiguo 19/03/2007, 20:57
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: sql sollo el campo una vez: DISTINCT, UNIQUE

No entiendo lo que intentas hacer. Si explicas mejor el resultado que esperas obtener creo que será más sencillo ayudarte.

Tu último set de resultados puede obtenerse fácilmente con...

select DISTINCT CodEnsayo, Empresa
from Recepcion inner join Ensayos on Ensayos.Numero=Recepcion.Numero
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #6 (permalink)  
Antiguo 20/03/2007, 01:33
 
Fecha de Ingreso: diciembre-2006
Mensajes: 43
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: sql sollo el campo una vez: DISTINCT, UNIQUE

ya, lo siento, es que no se muy bien como explicarlo.
La cuestion es que si hago con distinct si me funciona si solo hago select con dos columnas. Por ejemplo:
00000 (CodEnsayo) 20 (Empresa)
00001 12
00001 20
Pero si cojo más de dos columnas, hace que las filas sean diferentes.
por ejemplo:
00000 20 14500 (NumeroRecepcion)
00000 20 14750
00002 31 15000
00002 20 15001
00002 20 13200

no se si me entenderás. Entonces, con distinct no me bale porque si cojo mas columnas en el select ya la fila si es diferente a las demás.
  #7 (permalink)  
Antiguo 23/03/2007, 14:07
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: sql sollo el campo una vez: DISTINCT, UNIQUE

Precisamente para eso es DISTINCT. Creo que lo que en realidad quieres es saber cuantas recepciones por ensayo/empresa tienes.

Para eso prueba algo como:
select DISTINCT CodEnsayo, Empresa, Count(Recepcion)
from Recepcion inner join Ensayos on Ensayos.Numero=Recepcion.Numero
GROUP BY CodEnsayo, Empresa
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 00:44.