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

Seleccion con multiples campos coincidentes

Estas en el tema de Seleccion con multiples campos coincidentes en el foro de SQL Server en Foros del Web. Tengo una duda, quisiera elaborar un query que me seleccione solo los registros que tiene un campo llave repetido, es decir que si tengo algo ...
  #1 (permalink)  
Antiguo 10/01/2007, 09:42
Avatar de OSRO  
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 6 meses
Puntos: 0
Seleccion con multiples campos coincidentes

Tengo una duda, quisiera elaborar un query que me seleccione solo los registros que tiene un campo llave repetido, es decir que si tengo algo como esto:

cve_ped cve_prod cantidad cve_em
-------- -------- -------- -------
1 123 5 1a
1 123 5 2b
1 145 4 1a
1 137 10 1a
1 143 8 1a
2 175 11 1c
2 175 11 2a
2 193 5 1a
2 175 11 3b

En este caso lo que quiero de resultado serian los registros en los que cve_ped, cve_prod y cantidad estan mas de una vez:

cve_ped cve_prod cantidad cve_em
-------- -------- -------- -------
1 123 5 1a
1 123 5 2b

2 175 11 1c
2 175 11 2a
2 175 11 3b

Espero me puedan ayudar, de antemano gracias.

Salu2

  #2 (permalink)  
Antiguo 10/01/2007, 10:57
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Seleccion con multiples campos coincidentes

Código:

Select M.*
From  mitabla M (nolock)
Inner join
      (Select cve_ped, cve_prod, cantidad 
       from mitabla  (nolock)
       group by cve_ped, cve_prod, cantidad 
       having count(1) > 1)  S
On    M.cve_ped = S.cve_ped  And
      M.cve_prod = S.cve_prod And
      M.cantidad = S.Cantidad
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 10/01/2007, 12:43
Avatar de OSRO  
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 6 meses
Puntos: 0
Re: Seleccion con multiples campos coincidentes

Gracias por tu respuesta Andres, pero no me sale, lo he aplicado a una de las tablas de mi BD y me ha quedado asi el Query:

Código:
SELECT     ST.*
FROM         A_SALIDA_A_TIENDA(nolock) ST 
INNER JOIN                          
(SELECT     cve_salida, cve_producto 
FROM  A_SALIDA_A_TIENDA(nolock) 
GROUP BY cve_salida, cve_producto
HAVING      COUNT(1) > 1) S 
ON 
ST.cve_salida = S.cve_salida AND 
ST.cve_producto = S.cve_producto
Alguan idea de que estoy haciendo mal ?, gracias.

Salu2
  #4 (permalink)  
Antiguo 10/01/2007, 14:12
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Seleccion con multiples campos coincidentes

No veo que pueda estar mal, a lo mejor no te entendi bien...
te anexo un ejemplo de lo que entendi

Código:
If object_id('tempdb..#tmpCadena') is not null drop table #tmpCadena
create table #tmpCadena(cve1 int, cve2 int, dato char(1))

insert into #tmpCadena values(1,2,'A' )
insert into #tmpCadena values(1,2,'B')

insert into #tmpCadena values(1,3,'C')
insert into #tmpCadena values(1,4,'D')

insert into #tmpCadena values(1,5,'E')
insert into #tmpCadena values(1,5,'F')


Select c.* 
From #tmpCadena C 
inner join 
(select cve1, cve2 
from #tmpCadena
group by
cve1, cve2 
having count(1) > 1) M
On c.cve1 = M.cve1 And
   c.cve2 = M.cve2 



Resultado:

cve1        cve2        dato 
----------- ----------- ---- 
1           2           A
1           2           B
1           5           E
1           5           F
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #5 (permalink)  
Antiguo 11/01/2007, 01:15
Avatar de OSRO  
Fecha de Ingreso: octubre-2004
Mensajes: 114
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo Re: Seleccion con multiples campos coincidentes

Muchas gracias andres, ya lo tengo bien, era un error mio .

Salu2

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 21:29.