Como hacerlo ??

18/10/2007 - 22:32 por Penta | Informe spam
Estimados.
Uso SQL 2000
Tengo una BD que no esta normalizada adecuadamente, y tengo el
siguiente dilema:

Tengo la Tabla A con numeros de cuenta ejemplo:

123456-12345
124578-65988

Pues bien, tengo en la tabla B la descripcion de dichas cuentas pero
lamentablemente en la B tengo para un mismo numero de cuenta diferente
descripcion (que no varia mucho pero varia en puntos o en una letra),
pues bien me pidieron que tomara cualquier descripcion de la tabla B,
el tema es que no puedo cruzarlas ya que me da obviamente los
registros duplicados de la tabla B, espero haberme explicado.

Y muchas gracias por sus aportes.

Hice algo asi pero se demora mucho y no me convence:

Select distinct r.cuenta
, (select top 1 actdescr from TABLA B b.cuenta=r.cuenta) descripcion

Gracias.

Preguntas similare

Leer las respuestas

#1 Victor Koch
18/10/2007 - 23:18 | Informe spam
Hola Penta,

Creo que lo mejor seria cortar por lo sano, porque no eliminas los registros
duplicados de la tabla B y listo.

Vamos a ver que te sugieren los maestros.

Un saludo, Víctor Koch.


"Penta" escribió en el mensaje
news:
Estimados.
Uso SQL 2000
Tengo una BD que no esta normalizada adecuadamente, y tengo el
siguiente dilema:

Tengo la Tabla A con numeros de cuenta ejemplo:

123456-12345
124578-65988

Pues bien, tengo en la tabla B la descripcion de dichas cuentas pero
lamentablemente en la B tengo para un mismo numero de cuenta diferente
descripcion (que no varia mucho pero varia en puntos o en una letra),
pues bien me pidieron que tomara cualquier descripcion de la tabla B,
el tema es que no puedo cruzarlas ya que me da obviamente los
registros duplicados de la tabla B, espero haberme explicado.

Y muchas gracias por sus aportes.

Hice algo asi pero se demora mucho y no me convence:

Select distinct r.cuenta
, (select top 1 actdescr from TABLA B b.cuenta=r.cuenta) descripcion

Gracias.

Respuesta Responder a este mensaje
#2 Penta
18/10/2007 - 23:23 | Informe spam
Maestro Victor.
Eso quisiera yo pero lamentablemente no soy dueño de "manejar dichos
datos" aparte que es una BD de Great Plains no la quieren ni tocar
jeje.
Yo con mi aplicación me tengo que "adecuar" a lo mal que ingresar
dicha información nuestros queridos y nunca bien ponderados
"usuarios".

Salu2.
A ver si alguien me da una luz :)
Penta.
Respuesta Responder a este mensaje
#3 Enrique Catala Bañuls
18/10/2007 - 23:26 | Informe spam
Esto te dará cualquier descripción de la tablab y funcionará muy rápido si
tienes un índice definido en la columna "cuenta"

select actdescr
from tablaa inner join tablab on a.cuenta = b.cuenta
group by cuenta

Salu2!
Atentamente, Enrique Catala Bañuls


"Penta" wrote:

Estimados.
Uso SQL 2000
Tengo una BD que no esta normalizada adecuadamente, y tengo el
siguiente dilema:

Tengo la Tabla A con numeros de cuenta ejemplo:

123456-12345
124578-65988

Pues bien, tengo en la tabla B la descripcion de dichas cuentas pero
lamentablemente en la B tengo para un mismo numero de cuenta diferente
descripcion (que no varia mucho pero varia en puntos o en una letra),
pues bien me pidieron que tomara cualquier descripcion de la tabla B,
el tema es que no puedo cruzarlas ya que me da obviamente los
registros duplicados de la tabla B, espero haberme explicado.

Y muchas gracias por sus aportes.

Hice algo asi pero se demora mucho y no me convence:

Select distinct r.cuenta
, (select top 1 actdescr from TABLA B b.cuenta=r.cuenta) descripcion

Gracias.


Respuesta Responder a este mensaje
#4 principiante
19/10/2007 - 01:52 | Informe spam
datos" aparte que es una BD de Great Plains no la quieren ni tocar
jeje.



Me sorprende eso. No es Great Plains una aplicación de Microsoft? con ese
problema de normalización?


Jose TH
Respuesta Responder a este mensaje
#5 Maxi
19/10/2007 - 02:28 | Informe spam
Hola, si cualquier descripcion es valida entonces porque no usar:

select codigocuenta,max(descripcion) as descriocion
group by codigocuenta


"Penta" escribió en el mensaje de noticias
news:
Estimados.
Uso SQL 2000
Tengo una BD que no esta normalizada adecuadamente, y tengo el
siguiente dilema:

Tengo la Tabla A con numeros de cuenta ejemplo:

123456-12345
124578-65988

Pues bien, tengo en la tabla B la descripcion de dichas cuentas pero
lamentablemente en la B tengo para un mismo numero de cuenta diferente
descripcion (que no varia mucho pero varia en puntos o en una letra),
pues bien me pidieron que tomara cualquier descripcion de la tabla B,
el tema es que no puedo cruzarlas ya que me da obviamente los
registros duplicados de la tabla B, espero haberme explicado.

Y muchas gracias por sus aportes.

Hice algo asi pero se demora mucho y no me convence:

Select distinct r.cuenta
, (select top 1 actdescr from TABLA B b.cuenta=r.cuenta) descripcion

Gracias.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida