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

Ayuda con una SELECT

Estas en el tema de Ayuda con una SELECT en el foro de Bases de Datos General en Foros del Web. Hola, estoy haciendo un programa en VB6 con un DATAGRID y un recordset en el que introduzco la siguiente consulta: Select cb.Predeterminado, cb.Banco, cb.Sucursal, cb.Dc,cb.Num_Cuenta,cb.Nombre_Banco, ...
  #1 (permalink)  
Antiguo 18/05/2004, 09:43
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta Ayuda con una SELECT

Hola, estoy haciendo un programa en VB6 con un DATAGRID y un recordset en el que introduzco la siguiente consulta:

Select cb.Predeterminado, cb.Banco, cb.Sucursal, cb.Dc,cb.Num_Cuenta,cb.Nombre_Banco, cb.Direccion, cb.Poblacion, cb.CP, p.Denominacion
FROM Cliente_Banco cb, Provincia P
WHERE cb.cod_provincia=p.cod_provincia
AND cb.cod_cliente='050001VA' ;

El problema es que me tiene que devolver 2 filas. y solo me devuelve la 2ª.

el Problema sale al cruzar las 2 tablas, porque en la tabla cliente_banco, tengo cod_provincia y la relaciono con provincia para sacar el nombre (denominacion ) de la provincia.

He probado:

Select Predeterminado, Banco, Sucursal, Dc,
Num_Cuenta, Nombre_Banco, Direccion,
Poblacion, CP, Cod_Provincia
FROM Cliente_Banco
WHERE cod_cliente='050001VA';


y si me lo hace bien, pero necesito mostrar el nombre de la provincia que lo da la tabla provincia.

si alguien me puede ayudar?? no se que hago mal, o que me falta.

Gracias por adelantado.
__________________
Alguien sabe como es?
  #2 (permalink)  
Antiguo 18/05/2004, 10:16
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Pues eso puede suceder porque el código que tienes de provincia en la tabla Cliente_Banco para el primer registro no existe en la tabla Provincias
  #3 (permalink)  
Antiguo 19/05/2004, 01:05
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 20 años, 6 meses
Puntos: 0
Si existe porque en la tabla de provincias, tengo todas las de españa, y el primer registro que debe salir es de valladolid, y el otro de almeria.
__________________
Alguien sabe como es?
  #4 (permalink)  
Antiguo 19/05/2004, 02:00
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Si sólo tienes las dos tablas en la consulta (es decir tal y como la has escrito), saca los datos con un LEFT JOIN muestra el código de provincia e la tabla Cliente_Banco, y comprueba porqué no te lo muestra

Select cb.Predeterminado, cb.Banco, cb.Sucursal, cb.Dc,cb.Num_Cuenta,cb.Nombre_Banco, cb.Direccion, cb.Poblacion, cb.CP, p.Denominacion
FROM Cliente_Banco cb LEFT JOIN Provincia P
ON cb.cod_provincia=p.cod_provincia
WHERE cb.cod_cliente='050001VA'

Mira que no sea un campo de texto, y te falte el cero del principio, o que en vez de un cero sea una o en mayúsculas... cosas de esas que no se pillan a simple vista
  #5 (permalink)  
Antiguo 19/05/2004, 07:41
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias, esta mañana me di cuenta de que las LEFT JOIN Y LA RIGHT JOIN son las que aprendi en el FP, pero las escribiamos de esta manera:
SELECT ....
FROM ....
WHERE p.Cod_provincia= (+)cb.cod_Provincia AND ...

y claro yo me comia la cabeza de porque en Access no funcionaba poniendo el (+).

Gracias de todas formas. Por lo menos, saque el fallo.
__________________
Alguien sabe como es?
  #6 (permalink)  
Antiguo 19/05/2004, 07:47
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Pero entonces... aparece ya la descripción de la provincia????
  #7 (permalink)  
Antiguo 19/05/2004, 09:01
 
Fecha de Ingreso: mayo-2004
Mensajes: 86
Antigüedad: 20 años, 6 meses
Puntos: 0
Si
__________________
Alguien sabe como es?
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 23:09.