SQL - hacer una consulta dos veces a una misma tabla

   
Vista:
Imágen de perfil de Jose Luis

hacer una consulta dos veces a una misma tabla

Publicado por Jose Luis (3 intervenciones) el 19/12/2017 19:08:35
Consulta
Quiero hacer una consulta dos veces a una tabla
Tengo 2 Tablas:

Mae_CC (Maestro de Cuentas Contables)
IDCC Nombre
---- ------
01 Caja
02 Banco
03 Mercaderia
04 Materia Prima
Etc..

Asientos_C (Asientos Contables)
IDAC: Id asiento
ID_CD: Id cuenta debito
ID_CC: Id cuenta credito

IDAC ID_CD ID_CC
---- ----- -----
01 03 01
02 04 02
Etc..


Busco como resultado
Vista Asiento Contable con nombre

Vista_AC_ConNombre
IDAC ID_CD Nombre_CD ID_CC Nombre_CC
---- ----- --------- ----- ---------
01 03 Mercaderia 01 Caja
02 04 Materia Pr 02 Banco


CREATE VIEW [Vista_AC_ConNombre]
AS
SELECT
dbo.Asientos_C.*,
dbo.Mae_CC.*,

FROM
dbo.Asientos_C
INNER JOIN dbo.Mae_CC ON dbo.Asientos_C.ID_CD = dbo.Mae_CC.IDCC

Hasta acá obtengo la mitad de lo que busco.
PREGUNTA: ¿Cómo hago para hacer la segunda consulta de cuentna credito?
Gracias por ayudar.
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
Imágen de perfil de Isaias

hacer una consulta dos veces a una misma tabla

Publicado por Isaias (1097 intervenciones) el 19/12/2017 19:32:05
¿En que motor de base de datos?
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
Imágen de perfil de Jose Luis

hacer una consulta dos veces a una misma tabla

Publicado por Jose Luis (3 intervenciones) el 19/12/2017 19:33:25
Sql Express 2008
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
Imágen de perfil de Jose Luis

hacer una consulta dos veces a una misma tabla

Publicado por Jose Luis (3 intervenciones) el 19/12/2017 21:03:07
Respuesta:

Hay que utilizar 2 Inner Join.
La tabla Mae_CC le pongo un alias para el Debito "D" y otro para el Credito "C" en el Inner Join.
En el select uso el nombre del campo del maestro para el Dedito ".D" y le agrego un "AS" para el Credito pues sino estaría repitiendo el nombre.

Ejemplo:
Ene el Select agrego:
D.Nombre_CC,
C.Nombre_CC AS Nombre_CtaC,

Ene el From agrego:
INNER JOIN dbo.Mae_CC D ON dbo.Asientos_C.IDAC = D.IDCC
INNER JOIN dbo.Mae_CC C ON dbo.Asientos_C.IDAC = C.IDCC


Isaias: " Gracias = por tu interes ", si estas de acuerdo con mi solución o quieres aclararlo por si le sirve a otro adelante...
Salu2
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
Revisar política de publicidad