SQL - Consulta a tres tablas

 
Vista:

Consulta a tres tablas

Publicado por Juan Pablo (2 intervenciones) el 26/01/2005 15:38:00
Hola compañeros(as)

Primero que todo gracias por su tiempo y dedicacion en reponder nuestras preguntas.

Ahii vamos.

Tengo una tabla Maestro, CodCargo, Centro Costo
Maestro(tabla)
Rut
Dv
Nombres
nivel
turno
rol
cod_cargo
cc

CodCargo(tabla)
cod_cargo
nombre_cargo

Centro Costo(tabla)
cc
nombre

Necesito hacer una consulta que me muestre los datos de cierto nivel elegido en un combobox(VB6) por ejemplo elegir nivel 8 y me liste en un DataGrid
Rut| Dv |Nombres|Nivel |Nombre cargo |Turno|Rol|Cod. cargo|CENTRO COSTO

Entonces hago una consulta de la siguiente forma:
MiRec.Open "select * from [Maestro] where nivel=" + CboBuscarNivel.Text + ";"

Pero no se como hacerlo que para esta misma consulta me traiga los datos del nombre del centro de costo(Tabla Centro Costo) y el nombre del cargo (tabla CodCargo) en el mismo recordset y asi poder asignarselo al DataGrid.

Bueno compañeros ojala que puedan ayudarme, ya que estoy desesperado.

De antemano se agradece.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta a tres tablas

Publicado por EnriqueK (69 intervenciones) el 26/01/2005 18:55:16
Hola, bueno solo tendrias q hacer un inner, lefy o right segun covenga hacer enlazados por un identificador q una cada tabla, me explico mejor

SELECT Rut, Dv, Nombres ... cargo, CENTRO COSTO, b.campo1, ..., c.campo, ....
FROM Maestro a
INNER JOIN Tabla_Centro_Costo b on a.cc = b.cc
INNER JOIN CodCargo c on a.codCargo = c.codCargo

Bueno eso deberia funcionar, suerte

Atte
EnriqueK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta a tres tablas

Publicado por Juan Pablo (2 intervenciones) el 27/01/2005 16:41:05
Antes que todo gracias por tu ayuda EnriqueK

Hice la query pero me arroja un error uno o mas errores al procesar el comando:

"select distinct * from [Maestro] INNER JOIN [CodCargo] ON Maestro.cod_cargo= CodCargo.cod_cargo INNER JOIN [CentroCosto]ON Maestro.cc=CentroCosto.CC where nivel=" + CboBuscarNivel.Text + "; "

El caso que me funciona perfectamente cuando hago la combinacion de dos tablas funcionara con tres tablas.

"select distinct * from [Maestro] INNER JOIN [CodCargo] ON Maestro.cod_cargo= CodCargo.cod_cargo where nivel=" + CboBuscarNivel.Text + "; "

Bueno esperando otra ayudita o algun tipo de orientacion.

De antemano te agradesco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar