Duplicados a medias

03/12/2008 - 19:59 por Alonso Vilela | Informe spam
Ayer estaba usando una select con where in para optener duplicados pero hay
una pequeña parte que no funciona bien.

Select street,count(street),zip,count(zip) from master group by street,zip
having count(street)> 1 , count(zip)> 1 into table tmpdup

hasta aqui todo bien .

Ahora en mi tabla master debo hacer un update de los duplicados

udpate master set tag="X" where street in (select street from tmpdup)

Muy bien PERO hay ciertas direcciones que son iguales a las duplicadas y
tambien las toma encuenta si fueran duplicadas, existe alguna forma de
incluir un campo mas como numero de record para hacer el update solo con
buscando este campo.

Gracias

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
03/12/2008 - 21:46 | Informe spam
Alonso Vilela,

Por que no nos dices lo que tratas de hacer, en vez de lo que estas haciendo?

La sentencia que posteastes no es correcta, al menos dara error de
compilacion.

Select street,count(street),zip,count(zip)
from master
group by street,zip
having count(street)> 1 , count(zip)> 1
into table tmpdup

Seria algo asi como:

Select street, count(street) as street_cnt, zip, count(zip) as zip_cnt
into tmpdup
from master
group by street,zip
having count(street)> 1 AND count(zip)> 1


AMB

"Alonso Vilela" wrote:

Ayer estaba usando una select con where in para optener duplicados pero hay
una pequeña parte que no funciona bien.

Select street,count(street),zip,count(zip) from master group by street,zip
having count(street)> 1 , count(zip)> 1 into table tmpdup

hasta aqui todo bien .

Ahora en mi tabla master debo hacer un update de los duplicados

udpate master set tag="X" where street in (select street from tmpdup)

Muy bien PERO hay ciertas direcciones que son iguales a las duplicadas y
tambien las toma encuenta si fueran duplicadas, existe alguna forma de
incluir un campo mas como numero de record para hacer el update solo con
buscando este campo.

Gracias




Respuesta Responder a este mensaje
#2 Alonso Vilela
03/12/2008 - 23:22 | Informe spam
ok.
primero disculpa la sintaxis es que trabajo en VFP.

La idea es encontrar las direcciones que esten duplicadas dentro de una
tabla, pero como explique uso el zip por que puede ser que una misma
direccion tenga diferente codigo postal..


"Alejandro Mesa" wrote in message
news:
Alonso Vilela,

Por que no nos dices lo que tratas de hacer, en vez de lo que estas
haciendo?

La sentencia que posteastes no es correcta, al menos dara error de
compilacion.

Select street,count(street),zip,count(zip)
from master
group by street,zip
having count(street)> 1 , count(zip)> 1
into table tmpdup

Seria algo asi como:

Select street, count(street) as street_cnt, zip, count(zip) as zip_cnt
into tmpdup
from master
group by street,zip
having count(street)> 1 AND count(zip)> 1


AMB

"Alonso Vilela" wrote:

Ayer estaba usando una select con where in para optener duplicados pero
hay
una pequeña parte que no funciona bien.

Select street,count(street),zip,count(zip) from master group by
street,zip
having count(street)> 1 , count(zip)> 1 into table tmpdup

hasta aqui todo bien .

Ahora en mi tabla master debo hacer un update de los duplicados

udpate master set tag="X" where street in (select street from tmpdup)

Muy bien PERO hay ciertas direcciones que son iguales a las duplicadas y
tambien las toma encuenta si fueran duplicadas, existe alguna forma de
incluir un campo mas como numero de record para hacer el update solo con
buscando este campo.

Gracias




Respuesta Responder a este mensaje
#3 Alejandro Mesa
04/12/2008 - 00:06 | Informe spam
Alonso Vilela,

Estoy un poco confundido con tu problema. Estas buscando filas duplicadas
con el mismo valor de [street] y [zip]?

select [street], [zip]
from t
group by [street], [zip]
having count(*) > 1

>> udpate master set tag="X" where street in (select street from tmpdup)



Que es lo que deseas actualizar en la tabla?

Si deseas marcar las direcciones duplicadas, entonces:

update t
set tag = 'X'
where exists (
select *
from tmpdup as d
where d.[zip] = t.[zip] and d.[street] = t.[street]
)


AMB



"Alonso Vilela" wrote:

ok.
primero disculpa la sintaxis es que trabajo en VFP.

La idea es encontrar las direcciones que esten duplicadas dentro de una
tabla, pero como explique uso el zip por que puede ser que una misma
direccion tenga diferente codigo postal..


"Alejandro Mesa" wrote in message
news:
> Alonso Vilela,
>
> Por que no nos dices lo que tratas de hacer, en vez de lo que estas
> haciendo?
>
> La sentencia que posteastes no es correcta, al menos dara error de
> compilacion.
>
> Select street,count(street),zip,count(zip)
> from master
> group by street,zip
> having count(street)> 1 , count(zip)> 1
> into table tmpdup
>
> Seria algo asi como:
>
> Select street, count(street) as street_cnt, zip, count(zip) as zip_cnt
> into tmpdup
> from master
> group by street,zip
> having count(street)> 1 AND count(zip)> 1
>
>
> AMB
>
> "Alonso Vilela" wrote:
>
>> Ayer estaba usando una select con where in para optener duplicados pero
>> hay
>> una pequeña parte que no funciona bien.
>>
>> Select street,count(street),zip,count(zip) from master group by
>> street,zip
>> having count(street)> 1 , count(zip)> 1 into table tmpdup
>>
>> hasta aqui todo bien .
>>
>> Ahora en mi tabla master debo hacer un update de los duplicados
>>
>> udpate master set tag="X" where street in (select street from tmpdup)
>>
>> Muy bien PERO hay ciertas direcciones que son iguales a las duplicadas y
>> tambien las toma encuenta si fueran duplicadas, existe alguna forma de
>> incluir un campo mas como numero de record para hacer el update solo con
>> buscando este campo.
>>
>> Gracias
>>
>>
>>
>>



Respuesta Responder a este mensaje
#4 Alonso Vilela
05/12/2008 - 17:17 | Informe spam
ok
Gracias si es lo que busco marca en la tabla las direcciones duplicadas en
el mismo zip code..


"Alejandro Mesa" wrote in message
news:
Alonso Vilela,

Estoy un poco confundido con tu problema. Estas buscando filas duplicadas
con el mismo valor de [street] y [zip]?

select [street], [zip]
from t
group by [street], [zip]
having count(*) > 1

>> udpate master set tag="X" where street in (select street from tmpdup)



Que es lo que deseas actualizar en la tabla?

Si deseas marcar las direcciones duplicadas, entonces:

update t
set tag = 'X'
where exists (
select *
from tmpdup as d
where d.[zip] = t.[zip] and d.[street] = t.[street]
)


AMB



"Alonso Vilela" wrote:

ok.
primero disculpa la sintaxis es que trabajo en VFP.

La idea es encontrar las direcciones que esten duplicadas dentro de una
tabla, pero como explique uso el zip por que puede ser que una misma
direccion tenga diferente codigo postal..


"Alejandro Mesa" wrote in
message
news:
> Alonso Vilela,
>
> Por que no nos dices lo que tratas de hacer, en vez de lo que estas
> haciendo?
>
> La sentencia que posteastes no es correcta, al menos dara error de
> compilacion.
>
> Select street,count(street),zip,count(zip)
> from master
> group by street,zip
> having count(street)> 1 , count(zip)> 1
> into table tmpdup
>
> Seria algo asi como:
>
> Select street, count(street) as street_cnt, zip, count(zip) as zip_cnt
> into tmpdup
> from master
> group by street,zip
> having count(street)> 1 AND count(zip)> 1
>
>
> AMB
>
> "Alonso Vilela" wrote:
>
>> Ayer estaba usando una select con where in para optener duplicados
>> pero
>> hay
>> una pequeña parte que no funciona bien.
>>
>> Select street,count(street),zip,count(zip) from master group by
>> street,zip
>> having count(street)> 1 , count(zip)> 1 into table tmpdup
>>
>> hasta aqui todo bien .
>>
>> Ahora en mi tabla master debo hacer un update de los duplicados
>>
>> udpate master set tag="X" where street in (select street from tmpdup)
>>
>> Muy bien PERO hay ciertas direcciones que son iguales a las duplicadas
>> y
>> tambien las toma encuenta si fueran duplicadas, existe alguna forma de
>> incluir un campo mas como numero de record para hacer el update solo
>> con
>> buscando este campo.
>>
>> Gracias
>>
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida