Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

AYUDA UNIR 2 tablas

Estas en el tema de AYUDA UNIR 2 tablas en el foro de Visual Basic clásico en Foros del Web. hola amigos aqui les presento un problema, no se como podria unir 3 tablas, o mas bien solo necesito un registro de dichas tablas aqui ...
  #1 (permalink)  
Antiguo 05/08/2008, 13:28
 
Fecha de Ingreso: enero-2008
Mensajes: 181
Antigüedad: 16 años, 3 meses
Puntos: 1
De acuerdo AYUDA UNIR 2 tablas

hola amigos aqui les presento un problema, no se como podria unir 3 tablas, o mas bien solo necesito un registro de dichas tablas aqui les muestro mi codigo.

Código:
sql = "SELECT DISTINCT(anio) FROM egresos order by anio"
 
Set rst = dbs.OpenRecordset(sql)   'TBL almacena todos los valores de la tabla
 
rst.MoveFirst  'nos posicionamos en el primer registro de la tabla
Do Until rst.EOF  ''La propiedad EOF se pone TRUE cuando se a llegado al final de la tabla
   Combo1.AddItem rst("anio")
   rst.MoveNext   'pasamos al siguiente registro
   
Loop

la cuestion es que aqui lleno el combo con lo años de egresos pero tengo otra tabla que tiene el mismo registro de anio y quiero combinar los años de esas tablas. es decir por asi decir tengo estos años en:

ingresos egresos

2002 2001
2003 2003
2004 2005
2005 2006

entonces el combo quedaria asi:

2001
2002
2003
2004
2005
2006


alguien podria ayudarme o a decirme que puedo hacer. les agradezco de antemano y les envio un cordial saludo.
  #2 (permalink)  
Antiguo 05/08/2008, 14:42
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: AYUDA UNIR 2 tablas

Prueba con esto a ver si te funciona
Código:
sql = "SELECT DISTINCT egresos.anio,  ingresos.anio FROM egresos,  ingresos order by anio"
 
Set rst = dbs.OpenRecordset(sql)   'TBL almacena todos los valores de la tabla
 
rst.MoveFirst  'nos posicionamos en el primer registro de la tabla
Do Until rst.EOF  ''La propiedad EOF se pone TRUE cuando se a llegado al final de la tabla
   Combo1.AddItem rst.fields("anio")
   rst.MoveNext   'pasamos al siguiente registro
   
Loop
Ya luego me cuentas si te funciona
  #3 (permalink)  
Antiguo 06/08/2008, 10:03
 
Fecha de Ingreso: enero-2008
Mensajes: 181
Antigüedad: 16 años, 3 meses
Puntos: 1
De acuerdo Respuesta: AYUDA UNIR 2 tablas

Cita:
Iniciado por SalomonSab Ver Mensaje
Prueba con esto a ver si te funciona
Código:
sql = "SELECT DISTINCT egresos.anio,  ingresos.anio FROM egresos,  ingresos order by anio"
 
Set rst = dbs.OpenRecordset(sql)   'TBL almacena todos los valores de la tabla
 
rst.MoveFirst  'nos posicionamos en el primer registro de la tabla
Do Until rst.EOF  ''La propiedad EOF se pone TRUE cuando se a llegado al final de la tabla
   Combo1.AddItem rst.fields("anio")
   rst.MoveNext   'pasamos al siguiente registro
   
Loop
Ya luego me cuentas si te funciona

Muchas gracias SalomonSab, pero lamentable mente la instruccion como me mensionas continua marcandome un error, no de que otra forma pordria realizar la consulta? te lo agradeceria mucho. saludos
  #4 (permalink)  
Antiguo 08/08/2008, 16:04
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: AYUDA UNIR 2 tablas

Hola!

Comprueba si el gestor de bases de datos al que te estás conectando admite la cláusula de SQL "union". Si la admite, puedes obtener en una misma consulta el resultado de dos o más instrucciones select, siempre que todas ellas devuelvan el mismo número de campos y del mismo tipo:
Código:
    SELECT DISTINCT anio
    FROM ingresos
    ORDER BY anio
UNION
    SELECT DISTINCT anio
    FROM egresos
    ORDER BY anio;
No recuerdo de memoria si puedes hacer un GROUP BY para el resultado de varias SELECT unidas o si UNION descarta implícitamente los duplicados, así que tendrás que hacer probaturas...

Si este caso tampoco te funciona, o el SGBD no admite UNION (MySQL e Informix al menos sí me consta que lo admiten), no te queda otra que hacer un workaround haciendo dos consultas distintas, guardando sus resultados en un array, y comprobándolo con un bucle antes de añadir su contenido al ListBox.

No es difícil, sólo hay que trabajarlo un poco
__________________
wile sona li mute e sona
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 09:15.